docker下jenkins安装使用

Jenkins容器配置与CI/CD实践
本文详细介绍了如何使用清华大学镜像加速Jenkins插件下载,搭建Jenkins容器并配置Maven环境,以及通过Jenkinsfile实现CI/CD流水线自动化构建、测试和部署的全过程。

如果jenkins下载插件老失败还慢地址换成:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
1,
下载jenkins容器后启动命令sudo docker run -it -d -p 58080:8080 -p 50000:50000 --name jenkins -u bigabc -v /home/bigabc/env/docker/jenkins:/var/jenkins_home jenkins/jenkins:lts
/var/jenkins_home是挂载磁盘的地址
2.maven下载后放在docker下/home/bigabc/env/docker/jenkins/env/apache-maven-3.6.3
maven.tar.gz就放在 /home/bigabc/env/docker/jenkins/env(自己dokcer下jenkins目录)

3 ,jdk不用装。dokcer下jenkins自带openjdk1.8

4进入jenkins界面 svn或git,maven,ssh插件在这不做解释,过于简单

5图片就是操作的顺序
在这里插入图片描述
5.2在这里插入图片描述
5.3在这里插入图片描述
5.4在这里插入图片描述
5.5在这里插入图片描述
5.6在这里插入图片描述
5.7在这里插入图片描述
5.8
在这里插入图片描述
5.9在这里插入图片描述
5.10在这里插入图片描述

6
jenkins创建一个项目选择
在这里插入图片描述

6.2在这里插入图片描述

当然也可以选择第一种方式直接写管道脚本
在这里插入图片描述
5.9.5.10是pipeline下面点击Pipeline Syntax里面的内容
jenkinsfile内容
pipeline {
agent any
tools {
maven ‘maven’
}
stages {
stage(‘Tip’) {
steps {
echo “部署sjx到测试环境start”
}
}
stage(‘Checkout’) {
steps {
sh ‘mvn -v’
checkout([ c l a s s : ′ S u b v e r s i o n S C M ′ , a d d i t i o n a l C r e d e n t i a l s : [ ] , e x c l u d e d C o m m i t M e s s a g e s : ′ ′ , e x c l u d e d R e g i o n s : ′ ′ , e x c l u d e d R e v p r o p : ′ ′ , e x c l u d e d U s e r s : ′ ′ , f i l t e r C h a n g e l o g : f a l s e , i g n o r e D i r P r o p C h a n g e s : f a l s e , i n c l u d e d R e g i o n s : ′ ′ , l o c a t i o n s : [ [ c a n c e l P r o c e s s O n E x t e r n a l s F a i l : t r u e , c r e d e n t i a l s I d : ′ 87281 f 8 f − 6 b 8 a − 4409 − 9 b 93 − 9 c d a c 686 e f c d ′ , d e p t h O p t i o n : ′ i n f i n i t y ′ , i g n o r e E x t e r n a l s O p t i o n : t r u e , l o c a l : ′ . ′ , r e m o t e : ′ h t t p s : / / 192.168.0.222 / s v n / b i g a b c / j a v a / c o d e / a p p / s h a n j i x i n g ′ ] ] , q u i e t O p e r a t i o n : t r u e , w o r k s p a c e U p d a t e r : [ class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '87281f8f-6b8a-4409-9b93-9cdac686efcd', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.222/svn/bigabc/java/code/app/shanjixing']], quietOperation: true, workspaceUpdater: [ class:SubversionSCM,additionalCredentials:[],excludedCommitMessages:,excludedRegions:,excludedRevprop:,excludedUsers:,filterChangelog:false,ignoreDirPropChanges:false,includedRegions:,locations:[[cancelProcessOnExternalsFail:true,credentialsId:87281f8f6b8a44099b939cdac686efcd,depthOption:infinity,ignoreExternalsOption:true,local:.,remote:https://192.168.0.222/svn/bigabc/java/code/app/shanjixing]],quietOperation:true,workspaceUpdater:[class: ‘UpdateUpdater’]])
}
}
stage(‘Build’) {
steps {
sh ‘cd quick.parent; mvn -DskipTests=true clean install’
echo “打包成功”
}
}
stage(‘Copy’) {
steps {
sh ‘mv quick/target/quick.jar quick.rpc/target/;mv quick.admin/target/qboss.jar quick.rpc/target/;’
sshPublisher(publishers: [sshPublisherDesc(configName: ‘22’, transfers: [sshTransfer(cleanRemote: false, excludes: ‘’, execCommand: ‘cd bin/sjx;chmod u+x *.jar;sh sjx.sh’, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: ‘[, ]+’, remoteDirectory: ‘sjx’, remoteDirectorySDF: false, removePrefix: ‘/quick.rpc/target’, sourceFiles: ‘/quick.rpc/target/qrpc.jar,/quick.rpc/target/quick.jar,**/quick.rpc/target/qboss.jar’)], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
echo “copy打包成功”
}
}
}
post {
success {
echo “部署sjx到测试环境成功!”
}
}
}

jenkinsfile内容说一下具体是干什么的
在这里插入图片描述

sjx.sh 脚本
#!/bin/bash
pid1=ps -ef|grep java|grep drpc.jar|awk '{print $2}'
pid2=ps -ef|grep java|grep dwechat.jar|awk '{print $2}'
pid3=ps -ef|grep java|grep dboss.jar|awk '{print $2}'
echo “ p i d 1 , pid1, pid1,pid2,$pid3”
function k(){
if [ “$1” == “” ];then
echo “service $2 not found!”
else
echo “kill $1”
kill -9 $1
fi
}

k “ p i d 1 " d r p c k " pid1" drpc k " pid1"drpck"pid2” dwechat
k “$pid3” dboss
/usr/sbin/service drpc restart
/usr/sbin/service dwechat restart
/usr/sbin/service dboss restart
在这里插入图片描述

### 安装 Jenkins 镜像 在开始安装之前,确保已经安装DockerDocker Compose。接着可以使用以下命令来拉取 Jenkins 的官方镜像: ```bash docker pull jenkins/jenkins:lts ``` 此命令会下载最新的长期支持版本的 Jenkins 镜像[^2]。 ### 创建 Jenkins 工作目录 为了持久化 Jenkins 的数据,需要创建一个目录用于挂载到容器中: ```bash mkdir -p /usr/local/jenkins chmod 777 /usr/local/jenkins ``` 上述命令创建了一个目录 `/usr/local/jenkins` 并设置了权限,以便 Jenkins 容器可以对其进行读写操作[^4]。 ### 使用 Docker Compose 部署 Jenkins 如果选择使用 Docker Compose 来部署 Jenkins,则可以在任意位置创建一个文件夹,并进入该文件夹内创建 `docker-compose.yaml` 文件。以下是 `docker-compose.yaml` 文件的一个示例配置: ```yaml version: '3.8' networks: jenkins: services: jenkins: image: jenkins/jenkins:lts restart: always privileged: true networks: - jenkins environment: DOCKER_TLS_CERTDIR: /certs/client volumes: - /usr/local/jenkins/jenkins-data/certs:/certs/client:ro - ~/jenkins_home:/var/jenkins_home - /root/jenkins/.ssh:/root/.ssh - /usr/local/jenkinsBackup:/var/jenkinsBackup ports: - "8080:8080" - "50000:50000" user: root ``` 保存好 `docker-compose.yaml` 文件之后,可以在该目录下执行以下命令来启动 Jenkins 服务: ```bash docker-compose up -d ``` 这条命令将会根据 `docker-compose.yaml` 文件中的定义启动 Jenkins 容器,并且设置容器随系统重启而自动启动[^5]。 ### 访问 Jenkins 一旦 Jenkins 容器成功运行,可以通过访问宿主机的 8080 端口来访问 Jenkins 的 Web 界面。例如,在浏览器中输入 `http://<your_server_ip>:8080` 来打开 Jenkins 的初始设置页面。 ### 初始设置 首次访问 Jenkins 时,需要解锁 Jenkins 并设置管理员账户。按照屏幕上的指示完成这些步骤后,就可以开始配置 Jenkins 来满足具体的持续集成/持续交付 (CI/CD) 需求了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值