Docker 部署jenkins

Docker 部署jenkins

  • 拉取镜像

  • docker pull jenkins

    图片

  • 运行镜像

  • docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins

    要注意宿主机的外挂文件权限必须是1000用户组,dockerfile有规定(chown -R 1000 /your/home)

    图片

    • 初始化jenkins服务

    jenkins一直卡着 显示正在启动,请稍后

    进入上面宿主外置目录 /your/home 修改 hudson.model.UpdateCenter.xml 文件中的”url”标签http://mirror.xmission.com/jenkins/updates/update-center.json

    Jenkins插件安装失败处理方法

    =================安装失败出现的环境======================== 图片
    1.网络或墙的问题导致插件下载安装失败 修改 hudson.model.UpdateCenter.xml 文件中的”url”标签即可解决
    2.因为Jenkins版本太低导致插件不支持。如下报错 图片

    手动更新版本

    1.在服务器中下载jenkins的最新war包:
    wget http://mirrors.jenkins.io/war/latest/jenkins.war
    2.将下载的war包cp至容器的usr/download目录中:
    docker cp jenkins.war ContainerId:/usr/download
    3.进入容器:
    docker exec -it -u root ContainerId bash
    4.查看容器中jenkins war包的位置,并备份原来的war包:
    whereis jenkins
    cd /usr/share/jenkins
    cp jenkins.war jenkinsBAK.war
    5.将usr/dowanload下的包cp到/usr/share/jenkins下覆盖:
    cp /usr/download/jenkins.war /usr/share/jenkins
    6.重启jenkins,更新到新版本:
    http://yourIP:8080/restart
    

    jenkins部分全局配置

    • 配置jdk和maven,可以如下图自动下载配置,配置会在第一次构建job时生效
      图片
  • 构建项目配置邮件群发通知
    在配置邮箱服务之前要先配置系统管理中jenkins location配置项 图片

  • SMTP server:SMTP服务器,比如腾讯企业邮箱的SMTP服务器为smtp.exmail.qq.com。
    
    Default Content Type:邮件内容格式,可选Plain text和HTML。
    
    Default Recipients:默认的收件人列表,用逗号分隔。抄送或密送某个收件人可以在其邮箱前面加上cc:或bcc:。
    
    Default Subject:默认的邮件标题。
    
    Default Content:默认的邮件内容。
    
    Enable Debug Mode:开启插件的Debug模式,我们会在日志里看到更多信息。
    
    其他配置保持默认即可。
    

    图片
    按钮高级设置,注意Default Triggers触发器设置 图片

    jenkins 项目构建配置

    • 项目构建不远程部署 图片
      *springboot项目构建远程部署 图片
      图片
      per_recharge.sh 脚本

    export BUILD_ID=dontkillme
    source /etc/profile
    #!/bin/bash
    echo "Restarting SpringBoot per_recharge  Application"
    pid=`ps -ef | grep per_recharge-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
    kill -9 $pid
    echo "关闭进程:"$pid
    fi
      
    echo "授予当前用户权限"
    chmod 777 /home/per_recharge-0.0.1-SNAPSHOT.jar
    echo "执行....."
    #java -jar /usr/local/miniprogram/miniprogram.jar
    nohup java -jar -Dspring.profiles.active=test  per_recharge-0.0.1-SNAPSHOT.jar --server.port=8080 &
    pids=`ps -ef | grep per_recharge-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
    echo "新进程:"$pids
    echo "启动结束--------"
    
  • war项目构建远程部署tomcat
    在构建项目之前需要在tomcat服务端配置用户名和密码让jenkins访问并上传war
    1.修改tomcat-uers.xml

  • <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    <user username="role1" password="tomcat" roles="role1"/>
    <user username="both" password="123456" roles="tomcat,manager-gui,manager-script"/>
    

    2.修改context.xml

    <Context antiResourceLocking="true" antiJARLocking="true">
    <context>
    

    作用:Tomcat应用更新时,把新的WAR包放到webapps目录下,Tomcat就会自动把原来的同名webapp删除,并把WAR包解压,运行新的 webapp。

    在构建之前使用ssh执行脚本清除之前的war包,下面时简单的脚本

      #!/bin/sh
      tomcat_home=/home/tomcat7/apache-tomcat-7.0.92
    
      export JAVA_HOME=/usr/java/jdk1.7.0_79
      export JRE_HOME=$JAVA_HOME/jre
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
    
      sh $tomcat_home/bin/shutdown.sh
    
    
      rm -rf $tomcat_home/webapps/qzsmk_card
    
      rm -rf $tomcat_home/webapps/qzsmk_card.war
    
      sh $tomcat_home/bin/startup.sh
    

    在系统管理新增ssh配置
    图片
    图片

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值