zoukankan      html  css  js  c++  java
  • Jenkins 安装部署及应用

    一、什么是 jenkins 

     

      

    二、Jenkins 的安装配置

     

     

         

     

     

    三、安装jenkins 实例演示:

    1.系统优化:防火墙、selinux 等
    
    2. 添加 Jenkins 的yum源
    ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
    
    ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    
    ~]# yum -y install java 
    
    ~]# java -version 
    java version "1.8.0_171"
    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
    
    ~]# yum install jenkins -y 
    
    ~]# useradd deploy 
    
    编辑 jenkins 配置文件,user 改为 deploy ,端口确认为 8080
    ~]# vim /etc/sysconfig/jenkins
    
    JENKINS_USER="deploy"
    JENKINS_PORT="8080"
    
    ~]# chown -R deploy:deploy /var/lib/jenkins
    
    ~]# chown -R deploy:deploy /var/log/jenkins
    
    ~]# systemctl start jenkins
    故障:jenkins 未能正常启动,报错如下:

    [root@jenkins ~]# systemctl status jenkins
    ● jenkins.service - LSB: Jenkins Automation Server
    Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
    Active: active (exited) since 一 2021-02-08 17:25:34 CST; 3s ago
    Docs: man:systemd-sysv-generator(8)
    Process: 4970 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
    Process: 4986 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)

    2月 08 17:25:33 jenkins systemd[1]: Starting LSB: Jenkins Automation Server...
    2月 08 17:25:33 jenkins runuser[4991]: pam_unix(runuser:session): session opened for user deploy by (uid=0)
    2月 08 17:25:34 jenkins systemd[1]: Started LSB: Jenkins Automation Server.
    2月 08 17:25:34 jenkins jenkins[4986]: Starting Jenkins [ 确定 ]

    排查原因是因为:使用普通用户启动时未给Jenkins的家目录完全授权,遗漏了 /var/cache/jenkins/ 导致。

    解决办法:授权后重启 jenkins

    ~]# chown -R deploy:deploy /var/cache/jenkins/

    ~]# systemctl restart jenkins
    [root@jenkins ~]# lsof -i:8080
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    java 5193 deploy 160u IPv6 64773 0t0 TCP *:webcache (LISTEN) 

     至此,Jenkins 启动成功。

     本地hosts 添加解析。浏览器打开   jenkins.example.com:8080

     

     

     

     

     

     

     

     

      1)  创建一个freestyle 风格的项目

     

     

     

     

     

     构建--> 执行shell  

     View Code

    此脚本相当于把上述定义的参数传入脚本中。

    》执行一次构建

      

      2)  创建一个Pipe line 风格的项目

     

     

     

      

     

      

    > pipeline 流水线脚本

    #!groovy
    
    pipeline {
        agent {node {label 'master'}}
    
        environment {
            PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
        }
    
        parameters {
            choice(
                choices: 'dev
    prod',
                description: 'choose deploy environment',
                name: 'deploy_env'
                )
            string (name: 'version', defaultValue: '1.0.0', description: 'build version')
        }
    
        stages {
            stage("Checkout test repo") {
                steps{
                    sh 'git config --global http.sslVerify false'
                    dir ("${env.WORKSPACE}") {
                        git branch: 'master', credentialsId:"d28b84a2-1f91-4282-aeb2-eab66a5b921d", url: 'https://root@gitlab.example.com/root/test-repo.git'
                    }
                }
            }
            stage("Print env variable") {
                steps {
                    dir ("${env.WORKSPACE}") {
                        sh """
                        echo "[INFO] Print env variable"
                        echo "Current deployment environment is $deploy_env" >> test.properties
                        echo "The build is $version" >> test.properties
                        echo "[INFO] Done..."
                        """
                    }
                }
            }
            stage("Check test properties") {
                steps{
                    dir ("${env.WORKSPACE}") {
                        sh """
                        echo "[INFO] Check test properties"
                        if [ -s test.properties ]
                        then 
                            cat test.properties
                            echo "[INFO] Done..."
                        else
                            echo "test.properties is empty"
                        fi
                        """
    
                        echo "[INFO] Build finished..."
                    }
                }
            }
        }
    }
    View Code

     

     

    此时,pipeline 流水线项目构建成功。

  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/lanbojini/p/14393188.html
Copyright © 2011-2022 走看看