zoukankan      html  css  js  c++  java
  • Ubuntu系统下基于docker部署Jenkins环境

    本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中,

    至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/11584066.html

    Jenkins官网文档:https://jenkins.io/zh/doc/

    Jenkins插件下载地址:http://ftp.icm.edu.pl/packages/jenkins/plugins/

    使用命令从镜像仓库拉取指定文件,我这里用的是jenkins:lts这个版本;如果需要其他版本

    注意,由于我是基于docker容器化部署Jenkins,所以不需要安装jdk环境

    sudo docker pull jenkins/jenkins:lts

    配置宿主机映射到容器的目录,之后jenkins的一些配置文件都将会存储到该目录下,这个目录可以自己定,便于日后查找和管理

    文件夹设置权限很重要,不执行会报错

    # 创建jenkins_home目录
    sudo mkdir /home/jenkins_home     
    #设置该目录的所有者和所属的组,普通用户默认uid为1000,gid为1000,chown应该是change own的简写,指改变文件夹权限,-R指遍及子目录       
    sudo chown -R 1000:1000 /home/jenkins_home      

    部署Jenkins,启动jenkins的docker镜像

    sudo docker run -d --name jenkins -p 8070:8080 -p 50000:50000 -u root 
      -v /home/jenkins_home:/var/jenkins_home 
      -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker 
      -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 
      -v /opt:/opt 
      -v /etc/timezone:/etc/timezone jenkins/jenkins:lts

    相关参数解释

    -d  表示以后台模式运行
    --name  为容器定义一个名字(后面可以代替容器id使用)
    -p  表示映射容器的端口到宿主机的端口
    -v  表示映射宿主机的目录到容器的目录
    -u root  使用root用户运行,避免后面出现的一些执行权限问题
    -v /home/jenkins_home:/var/jenkins_home  映射jenkins_home,将数据存储到宿主机,这样配置就不会随容器丢失
    -v /var/run/docker.sock:/var/run/docker.sock 与 -v /usr/bin/docker:/usr/bin/docker  把宿主机docker 映射到容器内,可以直接在容器内使用宿主机docker
    -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7   容器内docker运行需要的库文件
    -v /opt:/opt   自主安装的一些运行时软件(如java/maven/git...)
    -v /etc/timezone:/etc/timezone  映射时区文件,保证容器的时区和宿主机相同(官网的jenkins容器时区不是中国的时区)
    最后的jenkins/jenkins:lts是要启动的镜像

    容器启动后,然后通过下面命令查看初始密码

    sudo cat /home/jenkins_home/secrets/initialAdminPassword

    按照上面的步骤jenkins安装成功了,打开浏览器输入ip:8087地址来查看网页,如页面报错,提示一直加载中,应该是jenkins服务没有启动成功,手动启动下jenkins容器。

    sudo docker restart jenkins

    Jenkins插件管理界面==> http://192.168.10.*:8080/pluginManager
    Jenkins插件管理-高级设置界面==> http://192.168.10.*:8080/pluginManager/advanced
    Jenkins更新页面http://192.168.10.*:8080/updateCenter

    参考资料:

    https://www.jianshu.com/p/9018cfa3654b

    https://www.cnblogs.com/personblog/archive/2019/05/15/10871440.html

  • 相关阅读:
    virtualenv与virtualenvwrapper
    数据类型、变量定义、数据类型转换
    计算机存储单元、标识符
    html单页面中用angular js
    svn客户端访问失败,错误“请求的名称有效,但是找不到请求的类型”的解决
    php 获取某数组中出现次数最多的值(重复最多的值)与出现的次数
    数据库导入时出现“2006
    phpstorm 激活
    取消本地SVN文件夹与服务器的关联
    js实现倒计时函数
  • 原文地址:https://www.cnblogs.com/xingyunqiu/p/11597564.html
Copyright © 2011-2022 走看看