gitlab-runner的docker版本
以link方式运行gitlab和gitlab-runner
运行环境:
macos + docker
需要的镜像
gitlab镜像 : gitlab官网并没有提供M1芯片的镜像,使用的是下载量最大的镜像
gitlab-runner镜像: gitlab官网提供的,在docker hub可以直接查询到的镜像
1、获取镜像
找到gitlab-runner镜像,登录docker hub官网,在其中搜索gitlab-runner,找到gitlab官网发出来的镜像即可,下载量最大的就是,镜像带有gitlab的官网认可。
docker pull yrzr/gitlab-ce-arm64v8:latest
docker pull gitlab/gitlab-runner
2、运行docker
1、创建备份文件,并运行gitlab镜像
# 创建挂在目录
cd ~ mkdir -p lsl/docker/gitlab/srv/gitlab mkdir -p lsl/docker/gitlab/logs mkdir -p lsl/docker/gitlab/data # 运行gitlab容器 sudo docker run --detach \ --hostname mygitlab.com \ --publish 8443:443 --publish 8888:80 --publish 8822:22 \ --name gitlab \ --restart always \ --volume /Users/listenningthuder/lsl/docker/gitlab/srv/gitlab/config:/etc/gitlab \ --volume /Users/listenningthuder/lsl/docker/gitlab/srv/gitlab/logs:/var/log/gitlab \ --volume /Users/listenningthuder/lsl/docker/gitlab/srv/gitlab/data:/var/opt/gitlab \ yrzr/gitlab-ce-arm64v8:latest
访问gitlab服务器时,使用本机IP地址:8888即可
2、创建备份文件,并运行gitlab-runner镜像
# 创建挂载目录
cd ~ mkdir -p lsl/docker/gitlab-runner/srv/gitlab-runner/srv/gitlab-runnermkdir -p lsl/docker/gitlab-runner/srv/gitlab-runner/srv/run # 启动容器 docker run -d --name gitlab-runner --link gitlab --restart always \ -v /Users/listenningthuder/lsl/docker/gitlab-runner/srv/gitlab-runner/config:/etc/gitlab-runner \ -v /Users/listenningthuder/lsl/docker/gitlab-runner/srv/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest
3、注册gtilab runner
1、查看gitlab的局域网地址
➜ config docker inspect gitlab [ { "Id": "e9fba6b5710f572ac53a12d6073a3108c9702937fa036d468179aca9c4324bbe", "Created": "2022-02-16T15:00:58.206483134Z", "Path": "/assets/wrapper", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 3015, "ExitCode": 0, 。。。由于内容过多,这里省去n多行 "NetworkSettings": { "Bridge": "", "SandboxID": "36c89ece8e011fefeaee6b0d4c1fd3876c7ef0054f1179a81bb26df0bd328042", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "22/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8822" } ], "443/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8443" } ], "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8888" } ] }, "SandboxKey": "/var/run/docker/netns/36c89ece8e01", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "a9f85a541c02299b52ef62048f712177fcde9af00c5211337557cc2deedadfa7", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.3", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:03", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "8d6d89ddc304c6f2f84596e18313d709cc0f0d5c6b79e6a572aebb03b0d81e8d", "EndpointID": "a9f85a541c02299b52ef62048f712177fcde9af00c5211337557cc2deedadfa7", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.3", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:03", "DriverOpts": null } } } } ]
2、获取gitlab runner的注册密钥

这里需要注意以下,gitlab和gitlab-runner是在同一个网桥网络中,与主机IP是不一样的,这里看到的是主机访问的地址和端口,后续需要还原成网桥网络里的IP和端口
3、注册gitlab-runner
# 进入容器
➜ gitlab-runner docker exec -it gitlab-runner bash root@2e8c4f3caeba:/#
# 开始注册 root@2e8c4f3caeba:/# gitlab-runner register Runtime platform arch=arm64 os=linux pid=35 revision=98daeee0 version=14.7.0 Running in system-mode. # 填写gitlab服务器的地址。默认情况下,docker镜像的网络全在默认网桥里,所以需要填写准确的地址 Enter the GitLab instance URL (for example, https://gitlab.com/): http://172.17.0.3:80 Enter the registration token: KA_RsL9JX55yEgHbgEpU Enter a description for the runner: [2e8c4f3caeba]: safeline Enter tags for the runner (comma-separated): python3,safeline Registering runner... succeeded runner=KA_RsL9J Enter an executor: docker, docker-ssh, ssh, docker+machine, docker-ssh+machine, kubernetes, custom, shell, virtualbox, parallels: docker Enter the default Docker image (for example, ruby:2.6): centos Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! root@2e8c4f3caeba:/#
4、查看注册结果


浙公网安备 33010602011771号