gitlab-runner+docker自動化集成+遇到的問題彙總

代碼上傳後,runner中構建,docker推送鏡像到阿里雲鏡像倉庫,前提要在阿里雲產品開通阿里雲鏡像倉庫服務

Dockerfile,我放在項目src/docker/目錄下

FROM openjdk:8-jre
MAINTAINER dlh [email protected]
COPY target/*.jar /app.jar
EXPOSE 8001
ENTRYPOINT ["java","-jar","/app.jar"]

.gitlab-ci.yml,放在項目根目錄下
這個stages創建的時候,選擇腳本類型爲shell

stages:
  - test1

docker-deploy:
  stage: test1

  # 執行Job內容
  script:
    - echo "runnering..."
    - mvn clean package -DskipTests
    - docker build -t app:test6 -f src/docker/Dockerfile .
    - echo "build success"
    - docker images
    - docker login -u 賬號 -p 密碼  registry-vpc.cn-beijing.aliyuncs.com
    - docker tag app:test6  registry-vpc.cn-beijing.aliyuncs.com/app_dev/app:6.0
    - docker push  registry-vpc.cn-beijing.aliyuncs.com/app_dev/app:6.0
    - docker rmi  registry-vpc.cn-beijing.aliyuncs.com/app_dev/app:6.0
    - docker rmi app:test6
  tags:
    # 執行Job的服務器
    - runner1.tag

  only:
    # 只有在master分支纔會執行
    - master

之前的博客裏有搭建gitlab runner,和註冊runner
地址: https://blog.csdn.net/bpqdwo/article/details/93713012

問題

1、服務器拒絕推送請求

The push refers to repository [registry-vpc.cn-beijing.aliyuncs.com/app_dev/app]
f2351432cf49: Preparing
325ca4da255c: Preparing
6375dbe2bbf8: Preparing
79be3cf498b1: Preparing
7b76d801397d: Preparing
f32868cde90b: Preparing
0db06dff9d9a: Preparing
f32868cde90b: Waiting
0db06dff9d9a: Waiting
denied: requested access to the resource is denied

gitlab-runner裏需要登錄

docker login -u 賬號 -p 密碼  registry-vpc.cn-beijing.aliyuncs.com

2、docker命令找不到

docker: command not found

在編寫gitlab-runner的docker-compose.yml時候
加上 掛載宿主機docker命令
 privileged: true
    volumes:
      # 映射docker命令
      - /var/run/docker.sock:/var/run/docker.sock
      - /bin/docker:/bin/docker

3、docker容器內執行docker命令提示Got permission denied while trying to connect to the Docker

沒有權限執行docker命令,請看博客 https://blog.csdn.net/bpqdwo/article/details/93714482

4、maven命令找不到

mvn: command not found

如果是看我之前的博客安裝的gitlab-runner

查詢正在運行的容器
docker ps
進入到容器裏
docker exec -it 0be3ea7795b1 bash
設置maven變量到系統配置
vi /etc/profile
加上
export PATH=$PATH:$MAVEN_HOME/bin
然後 source /etc/profile

如果不是,進入容器檢查安裝maven了嗎,如果沒有安裝,安裝一個maven就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章