美文网首页
【DevOps】第三步:中控平台jenkins

【DevOps】第三步:中控平台jenkins

作者: kekefund | 来源:发表于2019-12-01 23:25 被阅读0次

    一,安装

    a. 服务器安装(以centos7为例)

    1, 安装 添加yum repos,然后安装

    sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
    sudo yum install jenkins
    

    2, 如果没有java的话要安装java

    sudo yum install java
    

    3. 启动和停止

    sudo service jenkins start/stop/restart
    sudo chkconfig jenkins on  #开机自启动
    

    4. 更换主目录

    参考:jenkins 更换主目录

    b. 容器安装

    jenkins官方镜像:https://hub.docker.com/_/jenkins,选择合适的tag。

    创建docker-compose.yml文件:

    version: '2'
    services:
      jenkins:
        image: jenkins/jenkins:2.168-alpine
        volumes:
            - ./jenkins_data:/var/jenkins_home
        ports:
          - "8080:8080"
        restart: always
    

    volumes: 配置是将jenkins文件夹挂载在宿主机,做持久化处理。
    ports: 将jenkins容器的8080端口映射至主机的8080端口
    restart: 自动重启
    注意:宿主机jenkins_data目录需要给读写权限

    二、访问

    http://localhost:8080/
    

    第一次访问:


    image.png

    在服务器上的/var/lib/jenkins/secrets/initialAdminPassword 处拷贝初始密码,继续。

    安装插件:

    image.png

    完成


    image.png

    三、配置

    1,配置凭据

    配置访问远程服务器的账号密码

    image.png

    2,配置远程服务器

    Jenkins-> 配置->系统配置

    image.png

    注:需安装SSH Plugin插件,才会有SSH remote hosts这一项。

    3,配置Job信息

    参考批量创建Job

    4,授权子用户

    安装插件:Role-based Authorization Strategy

    jenkins->全局安全设置:

    image.png

    改为Role-Based Stategy

    系统管理中会出现【Manage and Assign Roles】选项,点击进入

    image.png

    参考:http://blog.51cto.com/zengestudy/1782494

    四、Job任务创建示例

    1,新建项目

    image.png

    2,配置

    • 源码管理
    image.png
    • 构建触发器
    image.png

    Poll SCM 配置为每半小时扫描一次源码变动。

    • 构建
    image.png

    五、主从节点设置

    系统管理->管理节点-> 新建节点

    image.png

    创建好的节点列表如下:

    image.png

    六、job配置备份

    安装插件:ThinBackup

    安装完成后在系统管理列表下方会出现ThinBackup的图标。点击进入后有3个选项:

    • Backup Now

    • Restore

    • Settings

    要做到自动备份,就在Settings中修改:

    image.png

    七、问题解决

    1,出现:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post

    权限问题,执行如下命令:

    1183  2018-03-20 00:32:26 sudo usermod -a -G root jenkins
     1184  2018-03-20 00:32:33 sudo service jenkins restart
     1185  2018-03-20 00:34:29 chmod 664 /var/run/docker.sock
     1186  2018-03-20 00:34:56 chmod 777 /var/run/docker.sock
     1187  2018-03-20 00:35:04 sudo service jenkins restart
    

    或者

    [root@VM_32_86_centos fof_api]# usermod -a -G root jenkins
    [root@VM_32_86_centos fof_api]# usermod -a -G docker jenkins
    [root@VM_32_86_centos fof_api]# sudo service jenkins restart
    

    2, jenkins mvn: command not found

    Jenkins 通过shell脚本调用mvn 命令的时候,是从/usr/bin 文件夹中找命令的,这个时候需要做个软链接

    ln –s /opt/maven/bin/mvn /usr/bin/mvn 
    

    参考

    https://testerhome.com/topics/10055
    http://www.cnblogs.com/reblue520/p/7130914.html
    centos7安装jenkins
    https://segmentfault.com/a/1190000007837054
    Centos 7安装 jdk 8
    jenkins权限管理,不同用户显示不同项目
    批量克隆jenkins的job

    相关文章

      网友评论

          本文标题:【DevOps】第三步:中控平台jenkins

          本文链接:https://www.haomeiwen.com/subject/gcntgctx.html