ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

     

    댓글

Designed by Tistory.