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

  • 相关阅读:
    共享纸巾更换主板代码分析 共享纸巾主板更换后的对接代码
    Python Django Ajax 传递列表数据
    Python Django migrate 报错解决办法
    Python 创建字典的多种方式
    Python 两个list合并成一个字典
    Python 正则 re.sub替换
    python Django Ajax基础
    Python Django 获取表单数据的三种方式
    python Django html 模板循环条件
    Python Django ORM 字段类型、参数、外键操作
  • 原文地址:https://www.cnblogs.com/xingyunqiu/p/11597564.html
Copyright © 2011-2022 走看看