代碼上傳後,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就可以了