-
jenkins 에서 작업한 파일을 github 연동하기CS 2022. 6. 28. 18:46
1. [jenkins build 설정 > Execute Shell] jenkins에서 작업한 파일을 venv에서 실행하면, jenkins의 workspace에 저장된다.
$ source {MY_VENV_DIR}/bin/activate $ pip3 list $ python3 {MY_PYTHON_FILE}.py {MY_JENKINS_WORKSPACE_DIR}/{MY_GIT_DIR}
2. [jenkins docker] jenkins가 있는 docker에서 git push 해준다.
$ git branch {MY_NEW_BRANCH} $ git checkout {MY_NEW_BRANCH} $ git branch $ git add {MY_JENKINS_WORKSPACE_DIR}/{MY_GIT_DIR} $ git commit -m "github test"
2.5 fetch 하기전 master branch pull 해서 우선 master branch 변동사항 반영해주면 좋음
3. [local repo] 기존에 사용하고 있던 (서버의) 로컬 디렉토리에서 local repo의 master branch와 remote repo의 {MY_NEW_BRANCH} fetch후 merge한다. // 혹은 깃 remote repository에서 merge pull request한다면, 4번에서도 push 대신 pull 하여 로컬에 가져오면 된다.
$ git fetch {MY_REMOTE_REPO} {MY_NEW_BRANCH} From ~ * branch {MY_NEW_BRANCH} -> FETCH_HEAD $ git branch -- 로컬에서는 마스터 브랜치만 존재. * master $ git checkout FETCH_HEAD -- 로컬에서 fetch한 내용 확인하고 싶다면 $ git branch * (detached from FETCH_HEAD) master $ git checkout master -- 마스터 브랜치로 다시 이동 Switched to branch 'master' $ git branch * master $ git merge {MY_REMOTE_REPO}/{MY_NEW_BRANCH} -- 이건 하면 안됨. fatal: {MY_REMOTE_REPO}/{MY_NEW_BRANCH} - not something we can merge $ git merge FETCH_HEAD Merge made by the 'recursive' strategy. ...
4. [local repo] 3번의 merge된 사항을 local repo의 master branch를 remote repo의 master branch에 push 한다.
$ git branch * master $ git pull {MY_REMOTE_REPO} master -- 이건 할 필요없긴 한데 한번 체크용. From ~ * branch master -> FETCH_HEAD Already up-to-date. $ git add {MY_PUSH_DIR} $ git commit -m "data update" nothing added to commit but untracked files present (use "git add" to track) $ git push {MY_REMOTE_REPO} master Counting objects: 1, done. Writing objects: 100% (1/1), 258 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) $ git branch -d {MY_NEW_BRANCH} -- 얘는 remote repo라 굳이 삭제할 필요없음 error: branch '{MY_NEW_BRANCH}' not found.
Reference
https://stackoverflow.com/questions/21651185/git-merge-a-remote-branch-locally
'CS' 카테고리의 다른 글
yaml 파일이란? (0) 2022.07.18 [linux] root directory ('/') vs home directory ('~') (0) 2022.07.03 python 실행 vs module 실행/ jupyter notebook 실행 vs shell 실행 self check (0) 2022.06.17 Spark 설치 과정 - hadoop, hive, mariadb 의 관계 (0) 2022.06.12 Airflow vs. Jenkins vs. cron (0) 2022.06.06