环境介绍:
说明 | 节点 | ip | 系统 |
Gitlab Server | git.ds.com | 10.0.1.179 | CentOS 7.5.1804 |
Gitlab Runner | 10.0.1.178 | CentOS 7.5.1804 | |
Docker Registry Harbor | harbor.ds.com | 10.0.1.183 | CentOS 7.5.1804 |
关于 gitlab server和Harbor的安装这里就表述了。
一、gitlab runner的安装 (gitlab 10版本的)
1、根据具体的系统环境下载对应的二进制执行文件
# Linux x86-64 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 # Linux x86 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386 # Linux arm sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
通过下面的地址你可以找到左右版本的二进制文件
https://docs.gitlab.com/runner/install/bleeding-edge.html#download-any-other-tagged-release
2、给刚下载的二进制执行文件添加执行权限
sudo chmod +x /usr/local/bin/gitlab-runner
3、安装docker
curl -sSL https://get.docker.com/ | sh
4、创建一个gitlab ci用户
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
5、将gitlab ci用户添加到docker运行用户的组里面
usermod -aG root gitlab-runner
由于我的docker是用root用户运行的所以我这边将gitlab-runner用户加到root的组里面了。
6、开始运行GitLab-Runner
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner gitlab-runner start
二、注册Runners
2、去gitlab runner的节点上做注册动作
gitlab-runner register
[[email protected]_10_0_1_178 ~]$ gitlab-runner register Running in system-mode. Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): http://git.ds.com Please enter the gitlab-ci token for this runner: Fx1jQzBW5ZJoxz157KEU Please enter the gitlab-ci description for this runner: [DS-VM-Node_10_0_1_178.dwhd.org]: Please enter the gitlab-ci tags for this runner (comma separated): myrunner_10_0_1_178_2 Whether to run untagged builds [true/false]: [false]: true Whether to lock the Runner to current project [true/false]: [true]: true Registering runner... succeeded runner=Fx1jQzBW Please enter the executor: docker-ssh+machine, kubernetes, docker-ssh, shell, virtualbox, docker+machine, docker, parallels, ssh: shell Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! [[email protected]_10_0_1_178 ~]$
3、重启一下runner使之生效
gitlab-runner restart
三、测试
为了写文章我这次新建了一个gitlab项目。
[[email protected]_10_0_1_178 /data]$ git clone http://git.ds.com/lookback/docker-nginx.git 正克隆到 'docker-nginx'... Username for 'http://git.ds.com': lookback Password for 'http://[email protected]': warning: 您似乎克隆了一个空版本库。 [[email protected]_10_0_1_178 /data]$ mv docker-nginx1/* docker-nginx/ [[email protected]_10_0_1_178 /data]$ ls -lh docker-nginx/ 总用量 52K -rw-r--r-- 1 root root 2.7K 6月 9 12:19 Block_Injections.conf -rw-r--r-- 1 root root 6.1K 6月 9 12:19 conf.tar -rw-r--r-- 1 root root 2.0K 6月 9 12:19 docker-compose-nginx-php-mariadb-redis.yml -rw-r--r-- 1 root root 1.2K 6月 9 12:19 docker-compose-nginx-php-mysql.yml -rw-r--r-- 1 root root 718 6月 9 12:19 docker-compose-nginx-php.yml -rw-r--r-- 1 root root 517 6月 9 12:19 docker-compose-stream.yml -rw-r--r-- 1 root root 282 6月 9 12:19 docker-compose.yml -rw-r--r-- 1 root root 4.3K 6月 9 12:19 Dockerfile -rwxr-xr-x 1 root root 3.6K 6月 9 12:19 entrypoint.sh drwxr-xr-x 5 root root 96 6月 9 12:19 etc -rw-r--r-- 1 root root 4.4K 6月 9 12:19 README.md [[email protected]_10_0_1_178 /data]$ cd docker-nginx/ [[email protected]_10_0_1_178 /data/docker-nginx]$ git add . [[email protected]_10_0_1_178 /data/docker-nginx]$ git commit -m 'Frist update' [master(根提交) d7c6a42] Frist update 23 files changed, 856 insertions(+) create mode 100644 Block_Injections.conf create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 conf.tar create mode 100644 docker-compose-nginx-php-mariadb-redis.yml create mode 100644 docker-compose-nginx-php-mysql.yml create mode 100644 docker-compose-nginx-php.yml create mode 100644 docker-compose-stream.yml create mode 100644 docker-compose.yml create mode 100755 entrypoint.sh create mode 100644 etc/logrotate.d/supervisord create mode 100644 etc/nginx-conf-example/block_injections.conf create mode 100644 etc/nginx-conf-example/nginx.conf create mode 100644 etc/nginx-conf-example/rewrite/discuz.conf create mode 100644 etc/nginx-conf-example/rewrite/drupal.conf create mode 100644 etc/nginx-conf-example/rewrite/ecshop.conf create mode 100644 etc/nginx-conf-example/rewrite/joomla.conf create mode 100644 etc/nginx-conf-example/rewrite/opencart.conf create mode 100644 etc/nginx-conf-example/rewrite/typecho.conf create mode 100644 etc/nginx-conf-example/rewrite/wordpress.conf create mode 100644 etc/supervisord.conf create mode 100644 etc/supervisord.d/crond.ini create mode 100644 etc/supervisord.d/nginx.ini [[email protected]_10_0_1_178 /data/docker-nginx]$ git push Username for 'http://git.ds.com': lookback Password for 'http://[email protected]': fatal: Authentication failed for 'http://git.ds.com/lookback/docker-nginx.git/' [[email protected]_10_0_1_178 /data/docker-nginx]$ git push Username for 'http://git.ds.com': lookback Password for 'http://[email protected]': Counting objects: 30, done. Delta compression using up to 4 threads. Compressing objects: 100% (29/29), done. Writing objects: 100% (30/30), 18.65 KiB | 0 bytes/s, done. Total 30 (delta 2), reused 0 (delta 0) To http://git.ds.com/lookback/docker-nginx.git * [new branch] master -> master [[email protected]_10_0_1_178 /data/docker-nginx]$
3、配置.gitlab-ci.yml文件
[[email protected]_10_0_1_178 /data/docker-nginx]$ cat .gitlab-ci.yml # This file is a template, and might need editing before it works on your project. # Official docker image. stages: - build_image - push_image before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY build_image: stage: build_image script: - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . push_image: stage: push_image script: - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - docker rmi "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
[[email protected]_10_0_1_178 /data/docker-nginx]$ git add . [[email protected]_10_0_1_178 /data/docker-nginx]$ git commit -m 'Add .gitlab-ci.yml' [master e79c41f] Add .gitlab-ci.yml 1 file changed, 22 insertions(+) create mode 100644 .gitlab-ci.yml [[email protected]_10_0_1_178 /data/docker-nginx]$ git push Username for 'http://git.ds.com': lookback Password for 'http://[email protected]': Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 527 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To http://git.ds.com/lookback/docker-nginx.git d7c6a42..e79c41f master -> master [[email protected]_10_0_1_178 /data/docker-nginx]$
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏