gitlab CI/CD 的使用

gitlab CI/CD 的使用

我将使用 gitlab 的流水线自动实现 hugo blog 文章的自动发布。

一、基础知识§

二、安装过程§

1.安装 gitlab runner§

首先需要安装 gitlab runner 进入服务器 A
安装方法:

  1. 容器部署

  2. 手动二进制文件部署

  3. 通过 rpm/deb 包部署

  4. docker 方式安装

安装文档:https://docs.gitlab.com/runne…

1    docker run -dit \
2    --name gitlab-runner \
3    --restart always \
4    -v /srv/gitlab-runner/config:/etc/gitlab-runner \
5    -v /var/run/docker.sock:/var/run/docker.sock \
6    gitlab/gitlab-runner
sh

1.1 设置信息

docker exec -it gitlab-runner gitlab-runner register
  1. 非 docker 方式安装

2.1 安装 GitLab Runner

安装环境:Linux

其他环境参考:https://docs.gitlab.com/runne…

下载

1    curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sh

添加权限

1    chmod +x /usr/local/bin/gitlab-runner
sh

新建 gitlab-runner 用户

1    sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
sh

安装

安装时需要指定我们上面新建的用户

1    gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sh

启动

1    gitlab-runner start
sh
 1# Download the binary for your system
 2sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
 3
 4# Give it permissions to execute
 5sudo chmod +x /usr/local/bin/gitlab-runner
 6
 7# Create a GitLab CI user
 8sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
 9
10# Install and run as service
11sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
12sudo gitlab-runner start
sh

2.配置 docker shell 链接§

 1    ssh-keygen -t rsa
 2    cd .ssh/
 3    cat id_rsa.pub >>authorized_keys
 4    docker cp id_rsa gitlab-runner:/root
 5    docker exec -it gitlab-runner /bin/bash
 6    chmod 600 /root/id_rsa
 7
 8
 9    vim /etc/systemd/system/gitlab-runner.service
10
11    "--syslog" "--user" "root" #修改为root
12    wq保存退出
13
14    systemctl daemon-reload
15    systemctl restart gitlab-runner
sh

3.配置.gitlab-ci.yml 文件§

 1    vim .gitlab-ci.yml
 2
 3    stages:
 4    - build
 5    - test
 6    - deploy
 7
 8    build-job:
 9    stage: build
10    script:
11        - echo "上传代码"
12        - echo "上传完成."
13
14    unit-test-job:
15    stage: test
16    script:
17        - echo
18        - sleep 60
19        - echo "Code coverage is 90%"
20
21    lint-test-job:
22    stage: test
23    script:
24        - echo "Linting code... This will take about 10 seconds."
25        - sleep 10
26        - echo "No lint issues found."
27
28    deploy-job:
29    stage: deploy
30    script:
31        - echo "Deploying application..."
32        - echo "Application successfully deployed."
sh
  • 全部
  • 简体中文
  • 最佳匹配
  • 最旧的
  • 最新的
  • 2021
  • 2022
  • 2023
  • 2024
  • 2025
  • jobcher
  • docker
  • github
  • gitlab
  • go
  • IOS 开发
  • k8s
  • Mac
  • stable diffusion
  • web 服务器
  • web3.0
  • work
  • 人工智能
  • 周报
  • 基础
  • 打赏
  • 数据库
  • 旅行
  • 日常
  • 日报
  • 测试
  • 监控
  • 福利
  • 美食
  • 问题库
  • docker入门系列
  • docker进阶系列
  • github
  • git入门系列
  • go系列
  • IOS 开发
  • k8s入门系列
  • k8s系列
  • Mac系列
  • mysql系列
  • oracle系列
  • stable diffusion
  • web3.0
  • web服务
  • web服务入门系列
  • 人工智能系列
  • 周报系列
  • 基础知识系列
  • 打赏
  • 旅行系列
  • 日常系列
  • 日报
  • 测试
  • 福利系列
  • 美食家常菜系列
  • 运维监控系列
  • 问题库系列
  • ansible
  • brew
  • ChatGPT
  • daliy
  • docker
  • DockerCompose
  • dockerfile
  • error
  • github
  • gitlab
  • golang
  • IOS 开发
  • IPFS
  • java
  • javascript
  • k3s
  • k8s
  • linux
  • logstash
  • Markdown
  • midjourney
  • minIO
  • mysql
  • nginx
  • nps
  • oracle
  • Planet
  • prometheus
  • pve
  • RocketMQ
  • rsync
  • skywalking
  • stable diffusion
  • TCP/IP
  • Terraform
  • web3.0
  • work
  • 内网穿透
  • 周报
  • 基础
  • 外快
  • 打赏
  • 扩容磁盘
  • 日常生活
  • 日报
  • 树莓派
  • 测试
  • 网心云
  • 美食
  • 自动化
  • 运维