一、安裝gitlab-runner
? ? ? ? 1.安裝查看我另外一篇文章很詳細(xì)。
????????????????Gitlab CI/CD筆記-第三天-使用主機(jī)docker in docker 進(jìn)行構(gòu)建并push鏡像。_A ?Charis的博客-CSDN博客
? ? ? ? 2.這篇文章的目的是使docker來(lái)構(gòu)建鏡像!
? ? ? ? 3.讓docker使用你的主機(jī)的docker.sock構(gòu)建鏡像,也可以使用docker in docker的方式來(lái)實(shí)現(xiàn)。本文介紹docker使用你的主機(jī)的docker.sock。
二、注冊(cè)一個(gè)使用了主機(jī)docker.sock 的docker執(zhí)行器
? ? ? ? 1.在安裝了gitlab-runer的主機(jī)上或者gitlan-runer的容器中執(zhí)行:
sudo gitlab-runner register -n \
--url https://gitlab.com/ \
--registration-token REGISTRATION_TOKEN \
--executor docker \
--description "My Docker Runner" \
--docker-image "docker:20.10.16" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock
? ? ? ? #可以在linux主機(jī)上或者在docker容器中安裝了gitlab-runer的地方進(jìn)行注冊(cè)這個(gè)執(zhí)行器。
-
--url https://gitlab.com/ \
-
--registration-token REGISTRATION_TOKEN \
##注意替換,不知道在哪兒看,看我的這篇文章的第二章的截圖
gitlab CI/CD 安裝 gitlab runner_A ?Charis的博客-CSDN博客
?
三、執(zhí)行器的配置文件config.toml
[[runners]]
? name = "My Docker Runner"
? url = "http://10.10.2.183:8929/"
? id = 9
? token = "pjBVsQMaMT8WkypuubXy"
? token_obtained_at = 2023-08-09T12:03:56Z
? token_expires_at = 0001-01-01T00:00:00Z
? executor = "docker"
? environment = ["DOCKER_AUTH_CONFIG={\"auths\":{\"harbor.com:543\":{\"auth\":\"YWRtaW46Vk13YXJlMSE=\"}}}"]
? [runners.cache]
? ? MaxUploadedArchiveSize = 0
? ? Insecure = false
? [runners.docker]
? ? tls_verify = false
? ? image = "docker:20.10.16"
? ? privileged = false
? ? disable_entrypoint_overwrite = false
? ? oom_kill_disable = false
? ? disable_cache = false
? ? shm_size = 0
? ? volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
四、.gitlab-ci.yml?
? ? ? ? ? ? ? ? #第二步完成后,你才具備了使用docker來(lái)構(gòu)建docker-image的能力,這個(gè)ci的流水線(xiàn)的任務(wù)必須要用這個(gè)執(zhí)行器來(lái)跑。
?
stages: # List of stages for jobs, and their order of execution
- build-image
build-image-job:
stage: build-image
image: harbor.com:543/docker/docker:20.10.16
tags:
- docker ##這個(gè)很關(guān)鍵,選擇執(zhí)行你的具備docker 來(lái)構(gòu)建的能力的執(zhí)行器的tag。
variables:
CI_REGISTRY_PROJETY: harbor.com:543/spring_boot-ci
DOCKER_IMAGE_NAME: ci-java-web
DOCKER_IMAGE_TAG: v1
DOCKER_REGISTRY: harbor.com:543
DOCKER_REGISTRY_PASS: VMware1!
DOCKER_REGISTRY_USER: admin
before_script:
- mkdir -p $HOME/.docker
- echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json
script:
- docker pull harbor.com:543/maven/maven:latest
- docker image ls
- docker tag maven:latest harbor.com:543/maven/maven:v1
- docker push harbor.com:543/maven/maven:v1
五、驗(yàn)證
?六、重點(diǎn)
? ? ? ? 1、DOCKER_AUTH_CONFIG 使用了這個(gè)變量來(lái)傳入私有harbor的信息,來(lái)進(jìn)行登錄。
? ? ? ? 2、docker 的image必須是docker:20.10.16
? ? ? ? 3、如果注冊(cè)了runner修改了config.toml,一定要重啟docker容器不是在容器內(nèi)部執(zhí)行g(shù)itlab-runner restart文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-654113.html
? ? ? ? 4、替換上面的variables,DOCKER_AUTH_CONFIG ,變量你可以直接拿來(lái)用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-654113.html
到了這里,關(guān)于Gitlab CI/CD筆記-第二天-主機(jī)套接字進(jìn)行構(gòu)建并push鏡像。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!