Jenkins 设置镜像_docker+jenkins自动化部署

一、centos安装jenkins

1.1 安装jenkins

1. Jenkins是一个Java应用程序,因此第一步需要确认具有java环境

2.下一步是启用Jenkins存储库。为此,请使用以下curl命令导入GPG密钥:

 curl --silent --location http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repo
 

并使用以下命令将存储库添加到系统:

 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
 

3.启用存储库后,键入以下命令安装最新的稳定版Jenkins:

 yum install jenkins
 

安装过程完成后,启动Jenkins服务:

 systemctl start jenkins
 

要检查它是否已成功运行:

 systemctl status jenkins
 

你应该看到类似的东西:

e0b3d2cd392a2ca482743d53ae5237ae.png

最后启用Jenkins服务以启动系统启动。

 systemctl enable jenkins
 

1.2 调整防火墙

如果要在有防火墙的远程CentOS服务器上安装Jenkins,则需要添加8080。

使用以下命令打开必要的端口:

 firewall-cmd --permanent --zone=public --add-port=8080/tcp
 firewall-cmd --reload
 

1.3 设置Jenkins

要设置新的Jenkins安装,请打开浏览器并键入域或IP地址,然后输入端口8080:

http://your_ip_or_domain:8080

将出现类似于以下内容的屏幕,提示您输入在安装期间创建的管理员密码:

7483ac252b1f09d21de8b05eba42ed2e.png

使用以下命令在终端上打印密码:

 cat /var/lib/jenkins/secrets/initialAdminPassword
 

您应该看到一个32个字符的长字母数字密码,如下所示:

2115173b548gdas2a203ee99a8732a32

从终端复制密码,将其粘贴到管理员密码字段中,然后单击Continue。

2efa6004cd027ed74fea414eb2842e15.png

在下一个屏幕上,系统将询问您是要安装建议的插件还是选择特定的插件。单击该Install suggested plugins框,安装过程将立即开始。

687d62b8e29aeeba9ff9b976d53e0eff.png

安装完成后,系统将提示您设置第一个管理用户。填写所有必填信息,然后单击Save and Continue。

1c093445f7a83ebd29875ada817e75eb.png

在下一页中,将要求您设置Jenkins实例的URL。URL字段将填充自动生成的URL。

48febb89ae71010f260165af1edf112d.png

要完成设置,请单击Save and Finish按钮确认URL 。

df41ab65229b6acfd3d61b8d00dde02d.png

最后,单击该Start using Jenkins按钮,您将被重定向到以前面一个步骤中创建的管理员用户身份登录的Jenkins仪表板。

4632cadf08bc79bb0c046747cbf6b89d.png
如果你已达到这一点,那么你已经在CentOS系统上成功安装了Jenkins。

二、安装docker

2.1 移除旧docker

 sudo yum remove docker 
  docker-client 
  docker-client-latest 
  docker-common 
  docker-latest 
  docker-latest-logrotate 
  docker-logrotate 
  docker-selinux 
  docker-engine-selinux 
  docker-engine
 

2.2 安装docker依赖库

 yum install -y yum-utils device-mapper-persistent-data lvm2
 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 yum install -y docker-ce
 

2.3 配置docker

 systemctl enable docker
 systemctl daemon-reload
 systemctl start docker
 

2.4 查询docker版本

 docker --version
 

2.5 安装 docker-compose

docker-compose是一个python编写的docker编排工具,后面的启动服务都是以docker-compose来启动,这样就不需要每次都手动输入docker启动命令的各项配置参数,简化操作。首先安装pip:

 #安装 python36
 yum install python36 -y
 #查看版本
 python36 --version
 #创建软链
 ln -s /usr/bin/python3.6 /usr/bin/py3
 ln -s /usr/bin/python3.6 /usr/bin/python3
 #安装pip3
 yum install openssl-devel -y
 yum install zlib-devel -y
 #安装 setuptools
 wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
 tar -zxvf setuptools-19.6.tar.gz
 cd setuptools-19.6
 python3 setup.py build
 python3 setup.py install
 #安装 pip3
 wget https://github.com/pypa/pip/archive/9.0.1.tar.gz
 tar -zvxf 9.0.1.tar.gz
 cd pip-9.0.1
 python3 setup.py install
 #查看 pip3版本
 pip3 --version
 #升级pip3
  
 pip3 install --upgrade pip
 

#安装docker-compose

 pip3 install docker-compose 
 

#查看版本

 docker-compose version
 

2.6 项目添加 Docker 支持

在pom文件加上插件:

3bd5295a423affe9588c9888152f4654.png
  • imageName指定了镜像的名字,本例为 forep/eureka-server
  • dockerDirectory指定 Dockerfile 的位置
  • resources是指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。
  • buildArgs是指打包后的名称

在dickerDirectory的路径下编写Dockerfile文件

c7e23ec248eb2ac32a4c4c37b9f2f50c.png

三、Jenkins使用

3.1 安装插件

在 系统管理 > 插件管理 > 可选插件中搜索并安装docker、maven、svn等相关插件

3.2 新建任务

选择构建Maven项目

0439337bb2dbba1892d916595ddecd24.png

3.3 源码管理

选择svn地址

51869059434033c969ed2a66c41388ea.png

3.4 构建镜像后操作(将镜像推送到公有云仓库)

db9447f5fa810238f3c957f300e9b56c.png
#脚本代码:
#####
##
##   构建镜像之后推送镜像到公有云镜像仓库
##
#####

##版本号
_tag=1.0
##镜像名称
_imageName=xxx
##仓库账号
_username=xxx
##仓库密码
_password=xxx
##仓库域名
_domain=xxx
##仓库地址
_registry=xxx


##获取镜像id
_imageId=`docker images | grep ${_imageName} | awk '{print $3}'`
##登录推送镜像
echo "${_password}" | docker login --username=${_username} --password-stdin ${_domain}
docker tag ${_imageId} ${_domain}/${_registry}/${_imageName}:${_tag}
echo '====================开始推送镜像=================='
docker push ${_domain}/${_registry}/${_imageName}:${_tag}
echo '====================推送镜像完成=================='

##启动镜像
docker run -d -p 9030:9030 --network=xxx --name=xxx --restart=always xxx

##删除tag后的镜像
docker rmi ${_domain}/${_registry}/${_imageName}:${_tag}
##删除所有none镜像
none_images=`docker images -f "dangling=true" -q`
[ ! -z "$none_images" ] && docker rmi $none_images
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值