build(nuxt): update ci
it's actually useful now lol
This commit is contained in:
		
							parent
							
								
									095f542fba
								
							
						
					
					
						commit
						13b4d10cb4
					
				| @ -1,49 +1,50 @@ | ||||
| # This file is a template, and might need editing before it works on your project. | ||||
| # This is a sample GitLab CI/CD configuration file that should run without any modifications. | ||||
| # It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts, | ||||
| # it uses echo commands to simulate the pipeline execution. | ||||
| # | ||||
| # A pipeline is composed of independent jobs that run scripts, grouped into stages. | ||||
| # Stages run in sequential order, but jobs within stages run in parallel. | ||||
| # | ||||
| # For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages | ||||
| # | ||||
| # You can copy and paste this template into a new `.gitlab-ci.yml` file. | ||||
| # You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword. | ||||
| # | ||||
| # To contribute improvements to CI/CD templates, please follow the Development guide at: | ||||
| # https://docs.gitlab.com/ee/development/cicd/templates.html | ||||
| # This specific template is located at: | ||||
| # https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml | ||||
| 
 | ||||
| stages:          # List of stages for jobs, and their order of execution | ||||
| # define the stages in this pipeline | ||||
| stages: | ||||
|   - build | ||||
|   - test | ||||
|   - deploy | ||||
| 
 | ||||
| build-job:       # This job runs in the build stage, which runs first. | ||||
| # define the build stage | ||||
| build_stage: | ||||
|   stage: build | ||||
|   # use node docker image as enviroment | ||||
|   image: node:latest | ||||
|   script: | ||||
|     - echo "Compiling the code..." | ||||
|     - echo "Compile complete." | ||||
|     # install & build the NuxtJS application | ||||
|     - npm install | ||||
|     - npm run build | ||||
|   # define artifacts which are shared between stages | ||||
|   artifacts: | ||||
|     paths: | ||||
|       - .nuxt/ | ||||
|       - node_modules/ | ||||
| 
 | ||||
| unit-test-job:   # This job runs in the test stage. | ||||
|   stage: test    # It only starts when the job in the build stage completes successfully. | ||||
|   script: | ||||
|     - echo "Running unit tests... This will take about 60 seconds." | ||||
|     - sleep 60 | ||||
|     - echo "Code coverage is 90%" | ||||
|   # restrict to specific branch | ||||
|   only: | ||||
|     - master | ||||
| 
 | ||||
| lint-test-job:   # This job also runs in the test stage. | ||||
|   stage: test    # It can run at the same time as unit-test-job (in parallel). | ||||
|   script: | ||||
|     - echo "Linting code... This will take about 10 seconds." | ||||
|     - sleep 10 | ||||
|     - echo "No lint issues found." | ||||
| # define the deploy stage | ||||
| deploy_stage: | ||||
|   stage: deploy | ||||
|   # use our deploy image | ||||
|   image: ubuntu:latest | ||||
|   # install needed packages | ||||
|   # add the SSH key from the variable SSH_DEPLOY_KEY and disable StrictHostKeyChecking | ||||
|   before_script: | ||||
|     - apt-get update && apt-get install --yes --no-install-recommends rsync git openssh-client curl | ||||
|     - eval $(ssh-agent -s) | ||||
|     - ssh-add <(echo "${SSH_DEPLOY_KEY}") | ||||
|     - mkdir -p ~/.ssh | ||||
|     - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' | ||||
| 
 | ||||
| deploy-job:      # This job runs in the deploy stage. | ||||
|   stage: deploy  # It only runs when *both* jobs in the test stage complete successfully. | ||||
|   environment: production | ||||
|   script: | ||||
|     - echo "Deploying application..." | ||||
|     - echo "Application successfully deployed." | ||||
|     # deploy application and server configuration | ||||
|     - rsync --archive --delete ${CI_PROJECT_DIR}/ ${DEPLOY_USER}@${DEPLOY_SERVER}:~/opsone-demo/ | ||||
|     - rsync --archive --delete ${CI_PROJECT_DIR}/cnf/ ${DEPLOY_USER}@${DEPLOY_SERVER}:~/cnf/ | ||||
| 
 | ||||
|     # restart Node.js and reload nginx configuration | ||||
|     - ssh ${DEPLOY_USER}@${DEPLOY_SERVER} nodejs-restart | ||||
|     - ssh ${DEPLOY_USER}@${DEPLOY_SERVER} nginx-reload | ||||
| 
 | ||||
|   # restrict to specific branch | ||||
|   only: | ||||
|     - master | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user