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. | # define the stages in this pipeline | ||||||
| # This is a sample GitLab CI/CD configuration file that should run without any modifications. | stages: | ||||||
| # 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 |  | ||||||
|   - build |   - build | ||||||
|   - test |  | ||||||
|   - deploy |   - deploy | ||||||
| 
 | 
 | ||||||
| build-job:       # This job runs in the build stage, which runs first. | # define the build stage | ||||||
|  | build_stage: | ||||||
|   stage: build |   stage: build | ||||||
|  |   # use node docker image as enviroment | ||||||
|  |   image: node:latest | ||||||
|   script: |   script: | ||||||
|     - echo "Compiling the code..." |     # install & build the NuxtJS application | ||||||
|     - echo "Compile complete." |     - 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. |   # restrict to specific branch | ||||||
|   stage: test    # It only starts when the job in the build stage completes successfully. |   only: | ||||||
|   script: |     - master | ||||||
|     - echo "Running unit tests... This will take about 60 seconds." |  | ||||||
|     - sleep 60 |  | ||||||
|     - echo "Code coverage is 90%" |  | ||||||
| 
 | 
 | ||||||
| lint-test-job:   # This job also runs in the test stage. | # define the deploy stage | ||||||
|   stage: test    # It can run at the same time as unit-test-job (in parallel). | deploy_stage: | ||||||
|   script: |   stage: deploy | ||||||
|     - echo "Linting code... This will take about 10 seconds." |   # use our deploy image | ||||||
|     - sleep 10 |   image: ubuntu:latest | ||||||
|     - echo "No lint issues found." |   # 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: |   script: | ||||||
|     - echo "Deploying application..." |     # deploy application and server configuration | ||||||
|     - echo "Application successfully deployed." |     - 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