【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之gitlab runner 關於私有docker倉庫配置


目錄

1.【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之docker+docker compose

2.【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之gitlab + gitlab runner(docker in docker)

3.【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之harbor 

4.【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之gitlab runner 關於私有docker倉庫配置 (本篇在此)

5.【系列】CentOS 7.3 離線安裝(無網絡環境)CI CD環境之sonarqube配置 

 

1.為gitlab runner 所在的機器配置insecure-registries

因為docker默認是不允許使用http協議進行通信的,所有必須要做此配置,才可以是docker使用http協議連接倉庫

命令如下:

vim  /etc/docker/daemon.json #如果沒有該文件則創建
 
#添加你的配置
{
    "registry-mirrors": [
      "http://188.6.7.147"
    ],
    "insecure-registries": ["188.6.7.147"]
}

#重啟docker
systemctl daemon-load
systemctl restart docker.service

 

重啟docker服務后 使用docker login登陸測試以下

2.修改gitlab runner comfig.toml

增加docker.sock的映射,配置修改完如下:

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "gis-group-runner1"
  url = "http://188.6.7.131/"
  token = "qQZ1p2hETvf94F7hNFJt"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
  [runners.docker]
    tls_verify = false
    image = "Docker:19.03.11"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
    shm_size = 0
    pull_policy = "if-not-present"

3.gitlab-ci.yml的配置

在gitlab runner docker in docker 中,一定要使用dind的docker鏡像在特權模式下運行腳本,這一點需要注意,否則會出現 dial tcp 188.6.7.147:443: connect: no route to host 的錯誤,具體gitlab-ci.yml配置如下:

image: docker:latest
# before_script:
#    - "docker info"
#   - curl 188.6.7.147
#   - docker login -u gitlab -p $CI_JOB_TOKEN $CI_REGISTRY

stages:
    - build
    - docker_build

build:
    stage: build
    image: $CI_REGISTRY/library/mcr.microsoft.com/dotnet/core/sdk:3.1
    script:
       # - dotnet
       # - export DOCKER_HOST="tcp://docker:2375/"
       # - chcp 65001
        
        - "dotnet restore k8s.NET.Demo.sln --interactive --source $NUGET_SOURCE"
        - "dotnet build --no-restore"
       # - "dotnet msbuild restore /p:RestoreSources=$NUGET_SOURCE"
        

docker-build-and-push:
    stage: docker_build
    image: docker:latest
    services:
        # - docker:dind
    script: 
      #  - chcp 65001
        - "docker info"
        - echo $CI_REGISTRY_TOKEN | docker login $CI_REGISTRY -u $CI_REGISTRY_USERNAME --password-stdin 
        - docker build -t $CI_REGISTRY/test.gis/k8s.net.demo:0.1.1 .
        - docker push $CI_REGISTRY/test.gis/k8s.net.demo:0.1.1

 然后提交代碼測試,結果如下:

 

 至此,關於gitlab runner 結合內網harbor私庫的配置就完成,這里只講了關於docker鏡像的拉取和推送,關於結合k8s的自動部署沒有展開,會在后續文章中記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM