gitlab 配置
yml 语法
** https://docs.gitlab.com/17.3/ee/ci/yaml/index.html **
添加.gitlab-ci.yml文件并配置 :
## 定义几个阶段
stages: # List of stages for jobs, and their order of execution
- build
- test
- deploy
-
## 示例job ,可以添加多个job
build-generator-job: # This job runs in the build stage, which runs first.
stage: build ## 运行的阶段
tags:
- build-generator-job
only:
- develop
script:
- echo "Compiling the code..."
- /bin/bash xxx.sh generator all ## 示例内容,实际build需要干的事情,此处可以写命令,也可以写脚本等
- echo "Compile complete."
添加runner & 配置服务器
进入项目的CICD配置页面,点击runners进入:
在服务器上安装runner-具体命令
### Download and install binary
# Download the binary for your system
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner
# Create a GitLab Runner user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# Install and run as a service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
## Command to register runner
sudo gitlab-runner register --url http://192.168.1.xxx/ --registration-token GR1348941p2u73yR4HziHG8oNMjn7
## 此处的url是gitlab服务器地址
## token是gitlab那边生成的,直接从runner处拷贝过来即可。
注册runner
$ sudo gitlab-runner register --url http://192.168.1.xx/ --registration-token GR1348941p2u73yR4HziHG8oNMjn7
Runtime platform arch=amd64 os=linux pid=1779809 revision=b92ee590 version=17.4.0
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
# 可不填
[http://192.168.1.xx/]:
Enter the registration token:
# 可不填
[GR1348941p2u73yR4HziHG8oNMjn7]:
Enter a description for the runner:
# 可不填
[qli-Z390-UD]:
Enter tags for the runner (comma-separated):
# 该runner可以执行的tag,这个和yml文件定义的job对应,也可不填,后续在gitlab runner界面下配置
build-generator-job build-runtime-job build-app-job model-test-job
Enter optional maintenance note for the runner:
WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://docs.gitlab.com/ee/ci/runners/new_creation_workflow
Registering runner... succeeded runner=GR1348941p2u73yR4
Enter an executor: custom, kubernetes, docker, docker-windows, docker+machine, docker-autoscaler, shell, ssh, parallels, virtualbox, instance:
# 配置执行环境,可以选docker/shell 等,跟进实际需求来定,如果需要依赖服务器环境等,可直接选shell
docker
Enter the default Docker image (for example, ruby:2.7):
latest
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
** 打开文件 /home/gitlab-runner/.bash_logout ,屏蔽如下几行: (要不然会导致初始化得时候报错)**
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi