2021年4月27日星期二

.Net Core和DevOps系列:Jenkins安装(Docker)

本系列的其他章节
 
.Net Core和DevOps系列:Docker安装
.Net Core和DevOps系列:Mysql安装(Docker)
.Net Core和DevOps系列:Gitea安装(Docker)
 
Jenkins是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
目前,在 Docker Hub 上有三个不同的仓库正(或曾经)被当作"官方" Jenkins 镜像。除jenkins/jenkins外,其他两个官方已经废弃
# docker pull jenkins/jenkins



 
如果没有找到,请使用以下命令安装:
# yum install libltdl.so.7


参数
描述
-i
以交互模式运行容器,通常与 -t 同时使用;
-t
为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d
后台运行容器,并返回容器ID;
--privileged
容器获取宿主机root权限(特殊权限-)的配置
--user
为容器内运行的程序授予指定的权限:
--user=root
--restart
容器重启策略:
no,默认策略,在容器退出时不重启容器;
on-failure,在容器非正常退出时(退出状态非0),才会重启容器;
on-failure:3,在容器非正常退出时重启容器,最多重启3次;
always,在容器退出时总是重启容器;
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
-p
端口映射,格式为:
宿主机端口:容器端口
8080:8080
-v
目录挂载,格式为:
宿主机的目录:容器目录
/etc/localtime:/etc/localtime:ro 同步宿主主机和容器的时间
/var/run/docker.sock:/var/run/docker.sock 挂载共享docker.sock
/usr/bin/docker:/usr/bin/docker 挂载共享docker
/usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 挂载共享文件库
/home/docker_jenkins:/var/jenkins_home 挂载Jenkins数据文件目录
--name
启动的容器名称
-e
传递环境变量:
禁用跨站请求伪造保护,此处可根据实际情况配置:
JAVA_OPTS="-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"

 
镜像运行起来后,接下来就是配置Jenkins了,输入网 />
 
这里要进入挂载的目录查看初始化密码
# cat /home/docker_jenkins/secrets/initialAdminPassword


 
等待所有插件安装完成

 
配置访问地址,如果没有其他要求,默认的就行


 
在使用前我们先做好准备工作,将git仓库的用户凭证先配置好

 
这里选择流水线

 
编辑流水线脚本代码如下:
pipeline{ agent any stages {  stage("拉取代码"){   steps {    echo 'STEP 1:拉取代码'    git credentialsId: 'aliyun_gitea_admin', url: 'http://你的域名或IP:3000/t_admin/WebCore5.git'   }  }  stage('构建docker') {   steps {    echo 'STEP 2:构建docker'    sh "docker build -f WebCore5/Dockerfile -t webcore5:latest ."   }  } }}

 


选中刚才创建的项目,立即构建

 
使用命令查看宿主机上的docker镜像
# docker images

没有评论:

发表评论