728x90
반응형
# deploy:테스트환경
deploy_staging:
stage: deploy
before_script:
- cd $WORKING_DIR
- rm -Rf $WORKING_DIR/.git*
script:
- git clone --no-checkout https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/{해당 gitlaburl}.git $WORKING_DIR/bk && mv $WORKING_DIR/bk/.git . && rm -rf $WORKING_DIR/bk && git checkout --force develop
tags:
- staging(gitlab-runner에서 선언한 태그)
only:
- develop
environment: staging
when: on_success
# deploy:real
deploy_prod:
stage: deploy
before_script:
- cd $WORKING_DIR
- rm -Rf $WORKING_DIR/.git*
script:
- git clone --no-checkout https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/{해당 gitlaburl}.git $WORKING_DIR/bk && mv $WORKING_DIR/bk/.git . && rm -rf $WORKING_DIR/bk && git checkout --force master
tags:
- prod(gitlab-runner에서 선언한 태그)
only:
- master
when: manual
allow_failure: false
environment: production
$WORKING_DIR는 CI/CD variable에서 선언해둠.
https://docs.gitlab.com/ee/ci/variables/README.html
GitLab CI/CD environment variables | GitLab
GitLab CI/CD environment variables An environment variable is a dynamically-named value that can affect the way running processes behave on an operating system. Environment variables are part of the environment in which a process runs. For example, a runni
docs.gitlab.com
staging환경은 성공할 시에 소스를 git clone해서 나두고 prod환경은 manual로 하여 직접 파이프라인에서 실행하도록 설정하였다.
참고사이트
gitlab공식사이트
728x90
반응형