Jenkins:拉取代码、远程部署和流水线介绍

642 阅读2分钟

拉取代码

安装git插件,有时已经默认安装了。

添加一个“自由风格”软件项目,配置git仓库:

保存,返回上一层,点击“立即构建”

这个时候,会自动拉取代码了。

远程部署

部署到Tomcat

jenkins 部署依赖插件:deploy to container

然后配置项目,添加构建后操作:

选择 deploy to container ,添加tomcat配置,其中目标位置要写: target/*.war,这样会把target下的文件全部部署到tomcat中去。

部署Spring boot

在jenkins服务器生成密钥:

ssh-keygen -t rsa

输入下面命令 一直回车,一个矩形图形出现就说明成功,在~/.ssh/下会有私钥id_rsa和公钥id_rsa.pub

jenkins服务器的公钥id_rsa.pub中的内容复制到应用服务器 的~/.ssh/下的 authorized_keys文件

ssh-copy-id -i id_rsa.pub 192.168.0.xx chmod 644 authorized_keys

应用服务器上重启 ssh 服务,service sshd restart现在 Jenkins 服务器可免密码直接登陆应用服务器

service sshd restart

流水线介绍

  • 自由风格:默认提供,可以针对其他语言进行配置
  • maven类型:针对java类型项目比较方便,需要单独安装 maven integration 的插件
  • 流水线类型:灵活性比较大,可用于复杂性项目配置

只介绍流水线。

流水线类型,有两种风格:声明式(推荐)、脚本式

声明式,最明显的是以 pipeline开头。

pipeline {
    agent any  --环境

    stages { -- 一般只有一个,包含多个步骤
        stage('Hello') {  -- 阶段、步骤
            steps { -- 执行的步骤
                echo 'Hello World'
            }
        }
    }
}
实例:
pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                echo 'pull code'
            }
        }
         stage('build project') {
            steps {
                echo 'build project'
            }
        } 
        stage('publish project') {
            steps {
                echo 'publish project'
            }
        }
    }
}

脚本式,最明显的是以node开头。

node {
    def mvnHome
    stage('pull code') { // for display purposes
        echo 'pull code'
    }
    stage('build project') {
       echo 'build project'
    }
    stage('publish project') {
      echo 'publish project'
    }
}