- gitlab 파이프라인에서 타 프로젝트에 소스 반영
: 타 프로젝트 Repository 로부터 Clone을 통해서 소스를 가져온 후 그 소스에 변경 내역을 반영한 후 배포한다.
1. git clone => 수정 => git push
before_script:
- git config --global user.name "${GITLAB_USER_NAME}"
- git config --global user.email "${GITLAB_USER_EMAIL}"
- git config --global http.sslverify "false"
script:
- git clone http://gitlab-ci-token:${CI_JOB_TOKEN}@my.gitlab.com/web/my_proj.git
- cd my_proj
- rm -rf ./src/assets/styles
- cp -r ../src/assets/styles ./src/assets/styles
- git add --all
- git commit -m "Auto Source update at `date +'%Y-%m-%d %H:%M:%S'` " || true
- git push http://gitlab-ci-token:${ACCESS_TOKEN}@my.gitlab.com/web/my_proj.git HEAD:develop || true
* 이 때 사용되는 ${CI_JOB_TOKEN} 은 Predefined Variables 이고 이 값을 통해서는 Read 권한만 가지고 있어, clone을 통해 프로젝트를 읽어 올수만 있다.
* Push 를 통해 타 프로젝트에 업데이트 하기 위해서는 권한자의 Access Token을 생성해서 Push 할 수 있다.
Access Token 생성 방법은 Gitlab Doc 을 참조한다.