zoukankan      html  css  js  c++  java
  • Jenkins

    before

    这里演示了在Linux和Windows平台的环境搭建,至于Mac.....再说

    由于Jenkins基于Java开发,所以,Jenkins的运行依赖Java JRE(java runtime environment)环境。所以,我们要想使用Jenkins,必须:

    • 机器要求
      • 256MB内存,建议大于512MB
      • 10GB的硬盘空间(用于Jenkins和docker镜像)
    • 需要安装
      • Java 8及以上版本。
      • Docker

    Java JDK的安装

    各平台安装Java JDK:https://www.cnblogs.com/sundawei7/p/11956103.html

    Jenkins下载地址

    官网:https://jenkins.io/zh/

    官网下载链接:https://jenkins.io/zh/download/

    相关软件百度云地址

    链接:https://pan.baidu.com/s/1KVGiuH5-diz8OK11C--CFA 提取码:0ek2

    for windows

    下载

    • 下载到本地是一个msi文件,点击它。

    • 选择安装目录,继续点击下一步。

    • 点击安装。

    • 安装完成。

    入门

    当安装完成,会自动的打开浏览器,进入解锁Jenkins页面。按照提示,去本地找密码,然后粘贴到输入框中,点击继续。

    选择推荐的插件下载即可。

    在漫长的等待过程中,可能会发生各种意外, 但请记住一点:如果发生意外,请间歇性的刷新浏览器,很可能就......好了.....好不了,喝杯咖啡考虑一下人生回来....继续刷新.....,我反正两次插件安装失败,我都是刷新解决的........

    如果遇到有的插件安装失败,就点击重试....

    创建管理员用户

    配置实例

    根据需要配置ip地址,如果你的是远程服务器的,就配个公网的ip或者绑定域名也行;本地的话,就直接localhost吧。

    访问主页:

    现在,Jenkins算是安装成功。

    for Mac

    --待填充

    for Linux

    这里我们选择安装docker版的Jenkins。

    请以管理员权限进行后续的操作

    环境是阿里云centos7

    安装docker

    可选的操作:查看内核版本

    目前,CentOS 仅发行版本中的内核支持 Docker。

    Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

    Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

    uname -a 
    
    # 示例
    [root@localhost ~]# uname -a
    Linux localhost 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    更新yum源

    [root@localhost ~]# yum update -y

    可选的操作:卸载旧版的docker

    yum remove docker  docker-common docker-selinux docker-engine

    安装依赖包

    yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。
    
    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    # 示例
    [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

    设置yum源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    # 示例
    [root@bogon ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    已加载插件:fastestmirror
    adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
    grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
    repo saved to /etc/yum.repos.d/docker-ce.repo

    查询及安装docker

    yum list docker-ce --showduplicates | sort -r
    
    # 示例
    [root@bogon ~]# yum list docker-ce --showduplicates | sort -r
    Loading mirror speeds from cached hostfile
    Loaded plugins: fastestmirror
    docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.4-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.3-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.2-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.1-3.el7                     docker-ce-stable

    在版本列表中,选择合适的版本下载即可。

    yum install docker-ce-17.12.1.ce -y
    
    # 示例
    [root@bogon ~]# yum install docker-ce-17.12.1.ce -y

    检查是否安装成功

    docker version
    
    # 示例
    [root@bogon ~]# docker version
    Client:
     Version:   17.12.1-ce
     API version:   1.35
     Go version:    go1.9.4
     Git commit:    7390fc6
     Built: Tue Feb 27 22:15:20 2018
     OS/Arch:   linux/amd64
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    启动docker并加入开机启动

    systemctl start docker    # 启动
    systemctl enable docker   # 加入开机启动
    ps -ef | grep docker      # 查看docker是否启动

    扩展

    docker 常用命令https://www.cnblogs.com/sundawei7/p/11963411.html

    安装Jenkins

    上面的docker环境配置好之后,我们再来配置docker版本的Jenkins。

    选择docker版本的Jenkins

    打开官网的下载页面,选择长期支持版本。

    在新的页面中,选择LTS版本的安装命令。

    也就是复制docker pull jenkins/jenkins:lts这个命令并且centos中去执行该命令。

    docker pull jenkins/jenkins:lts
    
    # 示例
    [root@bogon ~]# docker pull jenkins/jenkins:lts
    lts: Pulling from jenkins/jenkins
    9a0b0ce99936: Pull complete 
    db3b6004c61a: Pull complete 
    f8f075920295: Pull complete 
    6ef14aff1139: Pull complete 
    962785d3b7f9: Pull complete 
    631589572f9b: Pull complete 
    c55a0c6f4c7b: Pull complete 
    4e96cf3bdc20: Pull complete 
    e0b44ce6ec69: Pull complete 
    d961082c76f4: Pull complete 
    5a229d171c71: Pull complete 
    64514e4513d4: Pull complete 
    6797bb506402: Pull complete 
    b8d0a307156c: Pull complete 
    b17b306b4a0a: Pull complete 
    e47bd954be8f: Pull complete 
    b2d9d6b1cd91: Pull complete 
    fa537a81cda1: Pull complete 
    Digest: sha256:64576b8bd0a7f5c8ca275f4926224c29e7aa3f3167923644ec1243cd23d611f3
    Status: Downloaded newer image for jenkins/jenkins:lts

    PS:下载速度稍慢.......

    下载完毕后,我们来使用下面命令看一下是否下载成功。

    [root@bogon ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    jenkins/jenkins     lts                 22b8b9a84dbe        6 days ago          568MB
    [root@bogon ~]# 

    启动Jenkins

    docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins:lts 
    
    # 示例
    [root@bogon ~]# docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins:lts
    9f1d7ae974968f7465f98a7fbc25fc8f59cdebae561db33db7916fc68ee0f408
    [root@bogon ~]# 

    各参数的意义:

    • -d后台运行镜像。
    • -p 80:8080将镜像的8080端口映射到服务器的80端口。
    • -p 50000:50000将镜像的50000端口映射到服务器的50000端口。
    • -v jenkins:/var/jenkins_home,其/var/jenkins_home为Jenkins的工作目录,我们将硬盘上的一个目录挂在到这个位置,方便后续更新镜像后继续使用原来的工作目录。
    • -v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
    • --name jenkins给容器起一个别名。
    • docker.io/jenkins/jenkins:lts最后说的是docker拉去的是Jenkins的lts版本。

    现在,让我们使用本机的浏览器去访问虚拟机的centos的ip。

    由于咱们安装的是docker版的Jenkins,所以不能直接去这个位置去找密码(Windows版可以根据提示去上面那个位置去找密码)。那个路径不是服务器的路径,而是docker容器的路径,所以我们还需要使用docker命令去获取密码,让我们拷贝上面的那个路径。

    docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
    
    # 示例
    [root@bogon ~]# docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
    683a4afce37d44a780c287a131e9388b

    上面那个683a4afce37d44a780c287a131e9388b字符串就密码,填到之前页面的输入框中。

    注意,在输入密码后会进入新手操作阶段,下插件啥的,如果这个过程遇到失败等问题,会需要你重新输入这个密码,所以请记住它

    经过上面的种种操作,我们终于进入到了新手入门阶段,首先映入眼帘的是安装Jenkins插件,如无特殊需求,我们选择安装推荐的插件即可。

    漫长的等待......

    在漫长的等待过程中,可能会发生各种意外, 但请记住一点:如果发生意外,请间歇性的刷新浏览器,很可能就......好了.....好不了,喝杯咖啡考虑一下人生回来....继续刷新.....,我反正两次插件安装失败,我都是刷新解决的........

    如果遇到有的插件安装失败,就点击重试....

    创建管理员用户

    当上面的插件安装完毕后,会进入到创建管理员用户界面。

    各项填写完毕,选择保存并完成
    配置实例

    根据需要配置ip地址,如果你的是远程服务器的,就配个公网的ip或者绑定域名也行;本地的话,就直接localhost吧。

    现在,Jenkins算是安装成功。

    进入你的工作台。

    More

    如果遇到docker下载特别慢的情况。怎么办。

    vmware中的centos7

    • 编辑docker配置文件
    [root@bogon ~]# vi /lib/systemd/system/docker.service 
    • ExecStart值更改为阿里云。
    # ExecStart=/usr/bin/dockerd
    ExecStart=/usr/bin/dockerd --registry-mirror=https://u1qbyfsc.mir
    ror.aliyuncs.com

    这样的话,docker再去拉去镜像就会快很多。

    放开防火墙端口号

    vmware中的centos7

    如果是虚拟机或者远程服务器,有可能造成防火墙没有放开端口号,导致我们远程连接Jenkins失败,来看解决办法。

    firewall-cmd --list-ports   # 查看一下当前开放的端口
    
    # 如果该命令提示
    [root@bogon ~]# firewall-cmd --list-ports
    FirewallD is not running
    
    # 那么启动它
    [root@bogon ~]# systemctl start firewalld   # 启动
    [root@bogon ~]# firewall-cmd --list-ports   # 然后重新执行

    终端启动Jenkins

    在Windows平台下,Jenkins并没有创建什么快捷方式。而是需要通过命令行来启动。

    注意,终端必须是管理员权限的

    net start jenkins   # 开启服务
    net stop jenkins    # 停止服务

    然后浏览器访问:

    http://localhost:8080

    修改端口

    环境是:Windows
    可能8080这个端口容易被占用,所以我们去jenkins安装目录下找到一个叫jenkins.xml的文件,修改你想要的端口即可。

    在安装插件时报错:无法连接到Jenkins

    环境是:阿里云centos7

    这个问题很奇妙!我的环境是阿里云服务器,检查了Jenkins是否开启,是否可以ping通网络等等,都没啥问题。

    最后的解决办法是刷新浏览器!不能行就多试几次!!我也不知道为啥突然好了.....

    在安装插件时出现:No such plugin: cloudbees-folder

    环境是:Windows

    这个问题也很奇妙!但此时我的环境是win10企业版,检查了Jenkins是否开启,是否可以ping通网络等等,都没啥问题。

    最后的解决办法是刷新浏览器!不能行就多试几次!!我也不知道为啥突然好了.....貌似我还改了一下端口(然后重启了Jenkins),但这并没有啥影响吧。


    see also:docker:CentOS安装 docker和默认安装目录 | 如何进入、退出docker的container | Centos7上安装docker

  • 相关阅读:
    wcf 调试
    adf 笔记
    oracle 自定义比较函数
    【SpringMVC】SpringMVC系列3之@PathVariable映射URL占位符参数
    【SpringMVC】SpringMVC系列2之@RequestMapping 映射约束请求
    【SpringMVC】SpringMVC系列1之HelloWorld
    【持续集成】[Jenkins]Job中如何传递自定义变量
    【持续集成】使用Jenkins实现多平台并行集成
    【云计算】Netflix 开源持续交付平台 Spinnaker
    【Other】推荐点好听的钢琴曲
  • 原文地址:https://www.cnblogs.com/sundawei7/p/11963356.html
Copyright © 2011-2022 走看看