- 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 을 참조한다.

+ Recent posts