本系列CI/CD 流程图
CI/CD 流程图Jenkins

本文参考该文后,验证成功后总结得出。

安装配置Jenkins

创建文件夹

mkdir -p /usr/local/data/jenkins/data

Docker Compose

Docker
jenkins/docker-compose.yml
version: '3.7'
services:
  jenkins:
    user: root
    container_name: jenkins
    image: 'jenkins/jenkins:2.242'
    restart: always
    networks:
      - cicd
    environment:
      - TZ=Asia/Shanghai
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - /usr/local/data/jenkins/data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /bin/docker:/bin/docker  # linux使用
networks:
  cicd:
    external:
      name: cicd

注意哦,docker.sock跟docker表示在Jenkins里可以直接使用外部的docker命令了

启动

cd jenkins
docker-compose up -d

完全启动时间大约3分钟

安装插件

查询gitlab的IP

GitlabDockerip
docker inspect gitlab --format "{{.NetworkSettings.Networks.cicd.IPAddress}}"

容器内安装必备软件

Jenkins
docker exec -it jenkins /bin/bash 

更新

apt-get update

安装gcc跟vim

apt install vim
apt install gcc

hosts

JenkinsgitlabIP
172.21.0.3  git.guaosi.com

安装golang

# 下载
wget https://studygolang.com/dl/golang/go1.14.4.linux-amd64.tar.gz

# 解压
tar -C /usr/local -zxvf go1.14.4.linux-amd64.tar.gz

# 添加进环境变量
vim /etc/profile

# 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

# wq保存退出后source一下
source /etc/profile

给Jenkins换源

cd /var/jenkins_home/updates

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

重启容器

docker restart jenkins

初始化

http://192.168.1.220:8080

我们进入容器中,然后执行

cat /var/jenkins_home/secrets/initialAdminPassword

将获得到的密码复制后输入。

插件安装

我们解锁后,不要跳过,直接将所有插件进行的安装。

额外插件安装

JenkinsPlugin Manager
  • Localization: Chinese (Simplified)
  • Publish Over SSH
  • Gitlab
  • Golang

配置插件

全局工具配置

GO

系统管理全局工具配置GoGoJenkins

配置如下:

系统配置

系统管理系统配置

Gitlab

access_token
Gitlabaccess_token
配置
jenkins系统配置GitlabEnable authentication for '/project' end-pointCredentials添加Jenkins

Publish over SSH

Publish over SSH