基于docker安装jenkins

1、安装docker:

创建一个docker.sh文件,里面填入如下内容:

#!/bin/bash
yum -y install wget
cd /etc/yum.repos.d/
wget http://mila.oss-cn-shenzhen.aliyuncs.com/docker.repo
yum clean all && yum makecache
cd /root
wget http://mila.oss-cn-shenzhen.aliyuncs.com/soft/docker-engine-17.05.0.ce-1.el7.centos.x86_64.rpm
yum -y localinstall ./docker-engine-17.05.0.ce-1.el7.centos.x86_64.rpm
systemctl enable docker
systemctl start docker

如图所示:
在这里插入图片描述

之后保存。

直接执行权限chmod +x docker.sh
1

2、拉取jenkins镜像

docker pull jenkins:alpine #镜像选择了alpine版本的镜像,占用空间更小
1

如果拉取速度太慢,可以使用阿里云镜像加速,复制如下命令,执行即可

[root@Filecdn ~]#
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://9b655nj0.mirror.aliyuncs.com”]
[root@Filecdn ~]# sudo tee /etc/docker/daemon.json <<-‘EOF’

{
“registry-mirrors”: [“https://9b655nj0.mirror.aliyuncs.com”]
}
EOF
{
“registry-mirrors”: [“https://9b655nj0.mirror.aliyuncs.com”]
}
sudo systemctl daemon-reload
[root@Filecdn ~]#
在这里插入图片描述

3、运行命令,生成一个jenkins容器

docker run --name jenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home -it -d jenkins:alpine
1
直接运行命令后,jenkins容器是无法直接运行的,无法启动,查看日志
直接运行命令后,jenkins容器是无法直接运行的,无法启动,查看日志
直接运行命令后,jenkins容器是无法直接运行的,无法启动,查看日志

docker logs jenkins
1
发现,原来是jenkins的目录的权限不够,于是对目录进行授权

chmod -R 777 /data/jenkins
1
之后再次启动jenkins容器

docker start jenkins
1
之后容器正常启动
在这里插入图片描述
在这里插入图片描述

之后进入/data/jenkins目录找到这个文件

secrets/initialAdminPassword
1
复制里面的内容,后面安装jenkins有用
在这里插入图片描述

由于jenkins容器做了映射,在第三步中 -v /data/jenkins:/var/jenkins_home容器内部的目录映射到真是操作系统中。
因此里面的密钥文件在我系统的路径为

/data/jenkins/secrets/initialAdminPassword
1
在容器内部,密钥文件的内部地址如下:

/var/jenkins_home/secrets/initialAdminPassword
1

4、安装jenkins

在浏览器输入 服务器IP地址+8080端口即可出现安装页面
填入上面的密钥文件内容后点击继续
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置jenkins和gitlab

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试

在本地电脑上面新建一个static项目,然后添加文件,推动到远程服务器master分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,服务器上面已经存在刚才创建和推送的111.txt文件

至此所有操作完毕。

结尾关于 .ssh文件的说明

服务器之间的通讯,可以使用密码通讯,也可以使用ssh密钥进行通讯,在一些自动化部署,不需要人工干预的操作,大多使用ssh密钥通讯,这样免去了输入密码的操作。
git和gitlab或者jenkins通讯也需要ssh文件。

怎么使用.ssh文件

在linux用户进入用户家目录 (如果是windows用户下载一个git-windows客户端)
里面有详细说明和下载地址:http://blog.csdn.net/diyiday/article/details/78533902
运行

ssh-keygen -t rsa -C “test@qq.com”
1
加入你是root用户,就会在root目录下生成一个.ssh隐藏文件,
这个里面有三个文件

id_rsa id_rsa.pub known_hosts
1
id_rsa是私钥文件

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAxCJ+9e6ZQn8Z7Mp1e34uSvboxkNI0b8+Miouw2TDuaff8abB
4DGJsn7+n266oHQoBk5gwm/LQx12/Nl5dJtf054kEY3AYaQQBYVtUBqbytYYVybG
3aFmw+BYhNHWdsXaYLle30WjkEzWGE37aiBQC8fvfTeW6+LxvjMhmvJRMRBH96xa
YcDq9+jpNeY2a3cwGddkP2GWkb1p5ygsrEuywv0WkQ1P5+rlgxbB4Ky2CqwgMIqW
GzzFTjuxXDSsvKUZlCXTqLUvDZAaR76J9jKCn9hDAoGBANTqucnH0hDOnoh2t2fX
GauKED/qlom89rbPdDxnh5GKdCszJuKvbuaEtBh/z/qW6BUsEX1L1adz5hraHMWE
FRfmhj+ipa5FK8zvLNgv14UOvGoW+qKtlVBecENe6fWykqUQ3RTQBwiwy+HKSn4N
YxsCbPkS82OwCARVwW/YqUutAoGBAK2Qdqzd1HS0oHHnhl3pn1H4DP7pMhHxQJzK
V+I58ylF9WPW0iLDKJ3mAfLCzvLpdm4pYV3XKCPMGC65Tyat45VOQVbXfJwqvkNa
rEhObdnf5JPZZ1R3hZnI92OMtjgXLblIkslc8ynhFtmQ0L/872/geX5DoTEdsLa9
CtlIBqN7AoGAN30SUF+Lg7+7fwpzeWEpB+1RhJMNzzfWljc7DvST3Tb5Uc/MN8bq
ec/1k1cBSOdt0TiLwGXn7ybg16jzFgoni1xfdDn2v4sCAeZp60W5cogZtZvEEUU1
WTb9oNEHGn00fTOlQbsHjRf8yqdXnUzsFwMg++zVmFPzFaaQmfLiO2k=
-----END RSA PRIVATE KEY-----

id_rsa.pub是公钥文件

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEQ0jRvz4yKi7DZMO5p9/xpsHgMYmyfv6fbrqgdCgGTmDCb8tDHXb82Xl0m1/TniQRjcBhpBAFhW1Q9N5br4vG+MyGa8lExEEf3AZ12Q/YZaRvWnnKCysS7LC/RaRDU/n6uWDFsHgrLYKrCAwipborOmnuUAXr1Y0HubeZq/4E83jaL5WQSPygi9X4Rzi+rrp5e+3b/TXCx5hy4JcHzRvnWyOkEaqv8oqw2lI0Zh+aqVSodFua7igGqY1 test@qq.com
1
known_hosts文件保存授权记录
如果你需要和其他服务器通讯,你就需要把你的私钥或者公钥复制给对方服务器去验证,这样才可以实现无密码通讯。

在gitlab和jenkins中,

gitlab配置中,添加了test@qq.com这个邮箱用户的 id_rsa.pub公钥文件,
jenkins配置中,因此添加test@qq.com这个邮箱用户的 id_rsa私钥文件,

这样就实现了服务器之间身份验证,于是就可以拉取代码。

gitlab和jenkins中,通过webhook通讯检测gitlab中是否有代码更新,如果有更新,就出发jenkins去拉取代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值