安装gitlab-runner创建CI/CD流水线
1.本地部署gitlab和gitlab容器
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
container_name: gitlab
hostname: 'git.local'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://git.local'
gitlab_rails['gitlab_shell_ssh_port'] = 22
ports:
- "80:80"
- "443:443"
- "22:22"
volumes:
- "$GITLAB_HOME/config:/etc/gitlab"
- "$GITLAB_HOME/logs:/var/log/gitlab"
- "$GITLAB_HOME/data:/var/opt/gitlab"
networks:
- gitlab-network
gitlab-runner:
image: gitlab/gitlab-runner:latest
restart: always
container_name: gitlab-runner
hostname: gitlab-runner
depends_on:
- gitlab
volumes:
- "$GITLAB_HOME/gitlab-runner:/etc/gitlab-runner"
- /var/run/docker.sock:/var/run/docker.sock
networks:
- gitlab-network
networks:
gitlab-network:
name: gitlab-network
使用https自签名证书的话,需要把domain.crt和domain.key(域名自定义)放到GITLAB_HOME/config/ssl/目录下,同时放一份到GITLAB_HOME/gitlab-runner/certs/下。GITLAB_HOME为自定义的gitlab存放数据的目录。
2.创建Runner
创建一个项目,在settting-CI/CD-Runners点击create project runner,填写tags,勾选Run untagged jobs
点击create runner创建,记住token
3.注册runner
回到创建gitlab-runner容器的终端
docker exec -it gitlab-runner gitlab-runner register
输入gitlab url
输入token
输入runner名字
输入 executor,我填的docker
输入docker镜像名字,我用来执行Python,填的python:3.13.7,你也可以填别的
4.创建流水线
在项目根目录创建.gitlab-ci.yml
文件,比如写入示例文件
build-job:
stage: build
script:
- echo "Hello, $GITLAB_USER_LOGIN!"
- python -c "print('Hello, runner')"
test-job1:
stage: test
script:
- echo "This job tests something"
test-job2:
stage: test
script:
- echo "This job tests something, but takes more time than test-job1."
- echo "After the echo commands complete, it runs the sleep command for 20 seconds"
- echo "which simulates a test that runs 20 seconds longer than test-job1"
- sleep 20
deploy-prod:
stage: deploy
script:
- echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
environment: production
提交修改,在右侧的build-piplines就可以看到执行的流水线,点击可以看到任务执行情况。
流水线执行时如果报错"Could not resolve host",可以在gitlab-runner/config.toml文件的[runners.docker]
下面添加一行extra_hosts = ["git.local:host-gateway"]
,这是由于docker容器无法解析本地域名。
版权声明:
作者:konoha
链接:https://muye.org/%e5%ae%89%e8%a3%85gitlab-runner%e5%88%9b%e5%bb%baci-cd%e6%b5%81%e6%b0%b4%e7%ba%bf.html
文章版权归作者所有,未经允许请勿转载。
THE END