Docker安装Jenkins问题总结

docker安装jenkins

#拉取镜像
docker pull jenkins/jenkins:lts

启动容器

#目录映射
mkdir -p /mydata/jenkins_home
#启动容器 端口8080(前)映容器的8080端口(后)
docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

ip:8080进不去 权限问题

#查看正在启动的容器 发现jenkens没有启动
docker ps
#修改权限 把需要挂载的宿主机目录权限拥有者赋值给uid=1000
chown -R 1000 /mydata/jenkins_home/
#删除原来的容器
docker rm jenkins
#重新运行
docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
#如果想要开机自动重启容器,可以设置 docker update --restart=always jenkins

获取密码
方一:进入容器 运行 得到密码
docker exec -it 8d142693a9f4 /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
1bbc9a82af404c819844f77ff57a6dd4

方二:日志查看
docker logs jenkins

方三:
cd /mydata/jenkins_home
ll
cd secrets
cat initialAdminPassword

输入密码后:

实例配置 ip:8080 ->开始使用

 

解决插件安装失败

[root@localhost mydata]# cd jenkins_home/
[root@localhost jenkins_home]# ll
总用量 68
-rw-r--r--  1 mysql8 mysql8  1663 9月  25 10:47 config.xml
-rw-r--r--  1 mysql8 mysql8    50 9月  25 10:47 copy_reference_file.log
-rw-r--r--  1 mysql8 mysql8   156 9月  25 10:47 hudson.model.UpdateCenter.xml
-rw-------  1 mysql8 mysql8  1712 9月  25 10:47 identity.key.enc
-rw-r--r--  1 mysql8 mysql8  6205 9月  25 11:17 jenkins.install.InstallUtil.installingPlugins
-rw-r--r--  1 mysql8 mysql8     7 9月  25 11:20 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r--  1 mysql8 mysql8     7 9月  25 11:20 jenkins.install.UpgradeWizard.state
-rw-r--r--  1 mysql8 mysql8   182 9月  25 11:20 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r--r--  1 mysql8 mysql8   171 9月  25 10:47 jenkins.telemetry.Correlator.xml
drwxr-xr-x  2 mysql8 mysql8     6 9月  25 10:47 jobs
-rw-r--r--  1 mysql8 mysql8   907 9月  25 10:47 nodeMonitors.xml
drwxr-xr-x  2 mysql8 mysql8     6 9月  25 10:47 nodes
drwxr-xr-x 90 mysql8 mysql8 12288 9月  25 11:17 plugins
-rw-r--r--  1 mysql8 mysql8    64 9月  25 10:47 secret.key
-rw-r--r--  1 mysql8 mysql8     0 9月  25 10:47 secret.key.not-so-secret
drwx------  4 mysql8 mysql8   265 9月  25 10:47 secrets
drwxr-xr-x  2 mysql8 mysql8   104 9月  25 11:09 updates
drwxr-xr-x  2 mysql8 mysql8    24 9月  25 10:47 userContent
drwxr-xr-x  3 mysql8 mysql8    56 9月  25 10:47 users
drwxr-xr-x 11 mysql8 mysql8  4096 9月  25 10:47 war

#因为网络原因,需要将插件源设置为国内的,这样才可以安装插件
[root@localhost jenkins_home]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>[root@localhost jenkins_home]# vim hudson.model.UpdateCenter.xml

#将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像) 
[root@localhost jenkins_home]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

#重启容器
[root@localhost jenkins_home]# docker restart jenkins
jenkins
[root@localhost jenkins_home]# docker ps
CONTAINER ID   IMAGE                 COMMAND                   CREATED             STATUS             PORTS                                                                                                                                                                                                                                                                               NAMES
9c6c0aa542ee   jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   About an hour ago   Up 8 seconds       0.0.0.0:32772->8080/tcp, :::32772->8080/tcp, 0.0.0.0:32771->50000/tcp, :::32771->50000/tcp                                                                                                                                                                                          jenkins
40f677fcab1a   nginx                 "/docker-entrypoint.…"   2 hours ago         Up About an hour   0.0.0.0:9090->80/tcp, :::9090->80/tcp                                                                                                                                                                                                                                               nginx-agile-micro
25c87ad1c0b3   mysql:5.7             "docker-entrypoint.s…"   2 hours ago         Up About an hour   33060/tcp, 0.0.0.0:7777->3306/tcp, :::7777->3306/tcp                                                                                                                                                                                                                                mysql01
0c2f64b8e644   2ed7f9567afe          "java -jar /app.jar …"   16 hours ago        Up About an hour   0.0.0.0:32768->8080/tcp, :::32768->8080/tcp                                                                                                                                                                                                                                         zhumq-springboot-web
517775a1d963   portainer/portainer   "/portainer"              4 days ago          Up About an hour   0.0.0.0:8088->9000/tcp, :::8088->9000/tcp                                                                                                                                                                                                                                           musing_wu
8b5555b449b2   rabbitmq:management   "docker-entrypoint.s…"   4 days ago          Up About an hour   4369/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 15671/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp, 0.0.0.0:25672->25672/tcp, :::25672->25672/tcp, 0.0.0.0:61613->61613/tcp, :::61613->61613/tcp, 15691-15692/tcp   rabbitmq
[root@localhost jenkins_home]# curl localhost:32772
<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2F'/><script>window.location.replace('/login?from=%2F');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
-->

</body></html>

没用到,我是直接升级jenkins版本的->2.4

Jenkins插件管理(掌握)

插件镜像加速

Jenkins默认是从外网的插件仓库下载插件的,速度在国内来说就慢了很多,我们可以通过将插件地址修改为国内镜像仓库,即可提升插件的下载速度

#在 Jenkins首页进入插件管理页面,进入 Avaliable 可选产检页面
​
#进入 jenkins_home修改已加载的所有插件下载地址,所有插件数据所在文件jenkins_home/updates/default.json
#将该文件中所有插件的地址修改为国内的地址
#容器内
cd jenkins_home/updates
​
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
​
#最后在zenkins的插件管理页面 Manage Plugins 点击 Advanced,把 update site改为国内插件下载地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
​
#提交后,在浏览器输入: http : / /jenkins_server_ip:port/restart重启 jenkins
#需要 docker start 容器id 还需要手动启动
​
docker volume inspect jenkins-data
​
安装插件(TAG:可选插件)
Maven Integration
Publish Over SSH

问题:

构建报错:没有mvn命令

发现maven插件没有安装上了或者 已经安装了但是 还是没有mvn

[root@localhost ~]# docker exec -it 13bdd16cbd63 /bin/bash [root@13bdd16cbd63 /]# find / -name "setting.xml"

没有配置文件

此时去,maven官网直接copy路径

进入官网 Maven – Welcome to Apache Maven ->Download->找到Files 选择版本 邮件复制链接地址

eg:https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz

在linux中 wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz

显示有错 则按照提示的添加命令内容 --no-check-certificate

下载之后 此时则进行配置

(主机中)

cd /var/lib/docker/volumes/jenkins-data5/_data/

ls

wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz

[root@localhost _data]# tar -zxvf apache-maven-3.9.4-bin.tar.gz

[root@localhost _data]# vim apache-maven-3.9.4/conf/settings.xml

[root@localhost _data]# vim apache-maven-3.9.4/conf/settings.xml

maven镜像仓库

 <mirrors>
    <mirror>
      <id>central</id>
      <mirrorOf>*</mirrorOf>
      <name>Central Repository</name>
      <url>http://10.10.36.240:8086/repository/public/</url>
  </mirror>
      <mirror>
          <id>alimaven</id>  
          <name>aliyun maven</name>  
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
          <mirrorOf>central</mirrorOf>          
      </mirror>

没有mvn命令

进入jenkins->系统管理->全局配置工具

1.Maven 安装 中 (先取消自动安装)

Name:maven-3.9.4

MAVEN_HOME:/var/jenkins_home/apache-maven-3.9.4

2.Maven 配置

默认 settings 提供 ->文件路径选择 文件系统中的settings 文件 ->文件路径:/var/jenkins_home/apache-maven-3.9.4/conf/setting.xml (容器内部的)

默认全局 settings 提供->文件路径选择 文件系统中的全局settings文件 ->文件路径:/var/jenkins_home/apache-maven-3.9.4/conf/setting.xml

配置完成 重新构建 则成功!

Jenkins各版本下载地址

Index of /jenkins/war-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

插件安装问题解决:

升级jenkins!

war部署版

打开部署war包的地方,将下载的jenkins.war替换掉原war包,重启即可

Docker版(本次是这个)

  1. 将下载的jenkins.war包上传到服务器,我上传的在/home/zhumq/jenkins目录下 (xftp上传)

  2. 进入jenkins容器(命令中的jenkins为容器的名称,根据自己的实际名称进行更改,可以docker ps查看容器信息来获取容器名称) docker exec -it -u root jenkins /bin/bash

  3. 查找jenkins位置 whereis jenkins 如图所示,默认路径为/usr/share/jenkins

  4. 替换旧war包 (容器外) docker cp /home/zhumq/jenkins/jenkins.war jenkins:/usr/share/jenkins/

  5. 重新启动容器 docker restart jenkins

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伏颜.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值