1、GitLab安装,至少8G内存4核cpu
# 查找Gitlab镜像
docker search gitlab/gitlab-ce
# gitlab镜像拉取
docker pull gitlab/gitlab-ce
# 查看镜像
docker images
# 本机先建3个目录,为了gitlab容器通过挂载本机目录启动后可以映射到本机目录
# 配置文件
mkdir -p /home/gitlab/etc
# 数据文件
mkdir -p /home/gitlab/data
# 日志文件
mkdir -p /home/gitlab/logs
# 启动容器 mygitlab,如果不指定--hostname,host默认使用的是容器id访问。
docker run --name mygitlab -d \
--hostname=10.1.1.118 \
-p 4443:443 -p 8888:80 -p 8022:22 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
--privileged=true \
gitlab/gitlab-ce:latest
# 动态查看容器日志
docker logs -f mygitlab
配置
# 配置http协议所使用的访问地址,不加端口默认为80
vim /home/gitlab/etc/gitlab.rb 加上下面这一行配置
external_url 'http://10.1.1.118'
/home/gitlab/data/gitlab-rails/etc/gitlab.yml,刚才启动容器指定的--hostname可在此配置文件修改配置
2、网页访问登入,http://10.1.1.118:8888
# 查看root用户默认密码
cat /home/gitlab/etc/initial_root_password
Password: Gsxzpjm/RwJgHlHIUJIOTFvfYnM19sC2VMPM7NTmCng=
登录成功后,修改密码(默认密码24小时有效)
3、创建项目
直接像使用github一样,所有操作都一样。
# 本机需要安装git环境
yum install git -y
git --version
克隆项目
# 全局配置
git config --global user.name "Administrator"
git config --global user.email "[email protected]"
git config --global credential.helper store #只需要输入一次账户密码信息就会被保存记住
# 注意点:需要配置端口8888
git clone http://10.1.1.118:8888/root/base-test.git #有问题可rm -rf base-test删除项目再克隆一次
cd base-test # 克隆下来后进入这个项目
# 创建一个分支git switch -c main,这里不创建分支main了,使用默认的master主分支
touch README.md #创建一个项目
git add . # git add README.md添加这个项目,git add . 添加当前目录下所有项目
git commit -m "update" # 提交的信息-m "update"
git push -u origin master #推送到master主分支
[root@node1 ~]# ssh-keygen -t rsa -b 4096 -C "[email protected]" -t加密类型,-b加密大小,-C用户信息
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:woYgeVBL3AKa5oQ2Rz722JDGPBaLo26Mqd9XNPzYhcQ [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|o+o+ . |
|o=O.= E |
|*B+/ . . . |
|*oB.Bo + . . |
|.. ..o+.S= . |
|+. . .o o |
|o+ . |
|o . . |
|... .. |
+----[SHA256]-----+
[root@node1 ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDBm6BA8cjS4bjQKOpvReIE8nHEVTnd9tT25jhcxiQU2Epx190bCe/VVxomYQdIFEeECjPzx3TCLMHHxd5rNFaw9hljJwcQuaODmil5g1LmQRFZqnKoTXc9a5VDtW5CZpyGcgrl8lsE2Bgdh95Bmqta64VOhhc5sLjuSY6X5HQjBOvMmg6WetdlAiUIWp4egTXMXzXqCHfRkLw9opuqQpITpCmUOl94PRNG8eqhHGr0o38c/OJmNKDFXx9ouuuRLUJWvmK+qCsyvMTSGlvw3bKxsFGQA2V+Gn6jCgzrEZI1tZakmhoGw8EvuIViRrAjgre1tfzsO424cGGpRElXBHwhYx10NTX+e6HwZfvRznDuPsvkIQ6TlNIX0CIy2UxN63x4w3ZP3kOa+ZL0XTaGbHcxJZ2GUgYjQrHzSbDQ7cKKqiazl2epukcV+osf19QoVnbsg9uIBMC3t+i28fl+byZoJCpxIF+5ItmsyUq770ryKfaWVMrCYI76tMQHFKVE7rEe/fg6c2RwQxcEPfHOl1UN3nVo82x0HfqtMbDRmUdDMJaCf5X/QIS6oKTg7HosjnRb1XOioPAvr8aF2R5Qa3djkFssIj7BdNTia1lg7AuaGypMRIDohbrNOtkspxmVAyw4UQaqMX5buGYdJa+rBHUOK/UAXzj/EGKQCtmlkXGxFQ== [email protected]
官网地址:https://www.jenkins.io/zh/
1、通过Docker安装Jenkins
# 创建挂载目录
mkdir -p /var/jenkins_home
chmod 777 /var/jenkins_home
# 安装jenkinsci/blueocean
docker run \
-u root \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
[root@node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c18bf132384c jenkinsci/blueocean "/sbin/tini -- /usr/…" 2 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp reverent_gould
[root@node1 ~]# docker logs -f c1 动态查看容器日志
2、网页登入,http://10.1.1.118:8080
查看密码,[root@node1 ~]# cat /var/jenkins_home/secrets/initialAdminPassword
3、进入插件安装页面,安装插件默认是国外网址,先改成国内网址,再安装推荐的所有插件即可。
/var/jenkins_home/updates/default.json 里面默认是国外网址,插件下载慢
#把 “ www.google.com ” 改成 “ www.baidu.com ”
#全局搜索 “ updates.jenkins-ci.org/download ” 替换成 mirrors.tuna.tsinghua.edu.cn/jenkins
cd /var/jenkins_home/updates
sed -i 's/https:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
部分插件安装失败不用管,直接点击继续
4、插件安装完毕,注册登录账户
5、配置实例的地址
6、下载更新插件
插件下载慢问题解决,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
带感叹号!的,说明插件下载完成等待重启安装
检查插件配置,比如要使用的gitlab、docker、webhook之类的。没有的话,需要勾选下载,所有插件都更新到最新版本。
插件安装完重启,重启容器会挂掉,再启动容器就好了,重启后再次网页登入
[root@node1 updates]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@node1 updates]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c18bf132384c jenkinsci/blueocean "/sbin/tini -- /usr/…" 2 hours ago Exited (5) 31 seconds ago reverent_gould
[root@node1 updates]# docker start c1
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'mvn --version'
}
}
}
}