---
# System prepended metadata

title: Jenkins CI / CD Cheatsheet
tags: [cicd]

---

# Jenkins CI / CD Cheatsheet

- Q: Remote repository reference를 찾지 못하는 오류
    ```
    error: unable to push to unqualified destination: master
    The destination refspec neither matches an existing ref on the remote nor
    begins with refs/, and we are unable to guess a prefix based on the source ref.
    ```
  A: git push azure HEAD:refs/heads/master로 한번 push를 해주면 reference가 생성된다

- Q: Dotnet library 오류
    ```
    remote: Could not execute because the specified command or file was not found.        
    remote: 
    remote: Possible reasons for this include:        
    remote: 
    remote:   * You misspelled a built-in dotnet command.        
    remote: 
    remote:   * You intended to execute a .NET Core program, but dotnet-/opt/Kudu/KuduConsole/kudu does not exist.        
    remote: 
    remote:   * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.        
    ```
    A: 현재로써는 azure app service를 다시 만드는 방법 밖에 찾지 못했다.;;;
    
- Q: Azure Token 만료
  ![](https://i.imgur.com/KstW2QI.png)
  ```
  ssh jenkins@sopdevcidjkn.koreacentral.cloudapp.azure.com 접속
  az login 으로 토큰 재발급
  ```

    
- Q: DOSS/TDE Authentication Failed
    ```
    stderr: fatal: Authentication failed for 'https://doss.sktelecom.com/bitbucket/scm/hubnspoke/has-office-back.git/'
    ```
    doss쪽에서 auth 오류가 나면 personal access token이 만료된 것이다.
    먼저 doss에서 토큰 재발급 후 jenkins 서버에 ssh로 접속한다.
    ```
    ssh sopdevcidjkn.koreacentral.cloudapp.azure.com
    jenkins / 비번은 코난에게 문의
    ```
    에러난 디렉토리로 이동해서 토큰을 재설정해 주어야 하는데 에러난 디렉토리를 찾는 방법은 jenkins 빌드 모니터링으로 가서
    ![](https://i.imgur.com/K0oGRfw.png)
    workspace 디렉토리 위치를 확인하면 된다.
    
    위 경로로 이동해서 git pull을 하면 신규 username과 password를 물어볼텐데
    이곳에 사번과 위에서 발급받은 토큰값을 넣으면 된다.
    
- Q: RPC 400 에러
    ```
    error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 Bad Request
    ```
    git push로 보내려는 데이터 사이즈가 커서 나는 오류다.
    버퍼 사이즈를 조절해주면 된다.
    ```
    git config http.postBuffer 1048576000
    ```
    혹은 Azure local git을 해제했다가 다시 생성
- Q: yarn관련 rxjs 에러
    ```
    error Couldn't find a package.json file in "/home/.cache/yarn/v6/npm-rxjs-6.6.3-8ca84635c4daa900c0d3967a6ee7ac60271ee552-integrity/node_modules/rxjs"
    ```
    프로젝트에서 yarn을 실행해서 yarn.lock파일을 생성해주면 된다.
    
- Q: npm을 사용하는데 yarn dependency installation 문제
    ```
    info There appears to be trouble with your network connection...
    ```
    yarn.lock 삭제후 package.json에 engine을 정의한다
    ```
      "engine": {
            "npm": "6.14.4"
      },
      "engineStrict": true
    ```
- Q: 그 밖 Node/Vue 기반 앱서비스 oryx배포 시 발생하는 문제 해결 책
    ![](https://i.imgur.com/gJr4IIa.png)
    
- Q: Out of Memory
    ```
    git repack -adf
    git gc --aggressive --prune=now
    ```