jenkins pipeline介绍与使用

jenkins pipeline介绍与使用

1. jenkins pipeline介绍与使用

  • Jenkins Pipeline是一套插件,支持在Jenkins中实现集成和持续交付管道;
  • Pipeline通过特定语法对简单到复杂的传输管道进行建模;
    • 声明式:遵循与Groovy相同语法。pipeline
    • 脚本式:支持Groovy大部分功能,也是非常表达和灵活的工具。node
  • Jenkins Pipeline的定义被写入一个文本文件,称为Jenkinsfile。

2. jenkins流水线结构图

image
image

3 创建一个k8s-java-demo

  • 创建一个k8s-java-demo的流水线
    image
    image
    image

4. pipeline格式演变

  • pipeline测试脚本

    node {
        stage('拉取代码') {
            echo '拉取代码'
        }
        stage('编译打包') {
            echo '编译打包'
        }
        stage('部署发布') {
            echo '部署发布'
        }
    }
    

5. 配置服务器和git免密钥

5.1 查看服务器公钥

[root@k8s-master git]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFK38lDAHlksFXwo9b4wQstVvBF7bZCBgbr2nfZTMgfW4nCEzcd7mf15iTGfVkcrRreJHYL4ajzdVZ4qIk/4e1QvPhqDbr5av4tBqTfwOKkim3evpe7dslEb/MF1VUcrNUTMNOMILos7UrOSxYmgRMO1Kvpis0PiDIWQ4TzQM3mn+dGFCO9cC3nBzOwJg7mH91sGcZyf4uZJp30JmdP0NEDqDrrU9odZz/SxLkSbVcKPLfpIHGvkSvouwzzyLE3iQhGD6RoOiQu4AxGE30cOG/MzwGMbSPxe/RpGT/R3DW5ppyojrfgGyeYQupgyy7ZTWtyzdfYQZsCOv0GZsPqgKh root@k8s-master

5.2 把公钥key拷贝到gitlab

  • 登陆gitlab服务
    image

  • 点击头像,进入setting
    image

  • 配置ssh Keys
    image

  • 复制上面的key公钥
    image

6. 演示示例

  • 配置项目
    image

  • 配置pipeline
    image

    node {
        stage('拉取代码') {
            echo '拉取代码'
        }
        stage('编译打包') {
            echo '编译打包'
        }
        stage('部署发布') {
            echo '部署发布'
        }
    }
    
  • 在拉取代码选项,配置git拉取代码
    image
    image
    image

    填写git仓库

    到gitlab找到我们需要拉取的git仓库
    image
    image
    image

本次使用的ssh key方式获取key

git@10.100.24.87:k8s/tomcat_java_demo.git

把git地址复制到jenkins
image

发现不能连接

这里我们需要配置凭据
image
image
image

选择ssh key,配置密钥
image

我们发现需要公钥key

[root@k8s-master git]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAxSt/JQwB5ZLBV8KPW+MELLVbwRe22QgYG69p32UzIH1uJwhM
3He5n9eYkxn1ZHK0a3iR2C+Go83VWeKiJP+HtULz4ag26+Wr+LQak38DipIpt3r6
Xu3bJRG/zBdVVHKzVEzDTjCC6LO1KzksWJoETDtSr6YrND4gyFkOE80DN5p/nRhQ
jvXAt5wczsCYO5h/dbBnGcn+LmSad9CZnT9DRA6g661PaHWc/0sS5Em1XCjy36SB
xr5Er6LsM88ixN4kIRg+kaDokLuAMRhN9HDhvzM8BjG0j8Xv0aRk/0dw1uaacqI6
34BsnmELqYMsu2U1rcs3X2EGbAjr9BmbD6oCoQIDAQABAoIBAG3KS7FIX2IDdw+0
Mfm7jp6Kmj4KQ3HUlQANjEmt42tLDORFNe9p533/ImF/CerWCGrzp1qXFETwH8Y+
cYVimKGxV3YnIfX3XOxO9aF+D23A9+PIYdQsZGPe30r5DzXH7N2bJQHL94k2UEJy
QqRPlucP/Xn7cIFVuxF0rWcPOKRjtC8WCeSiqSKaRXHvS7SoBKbUxZDfmcOzZrPe
DKwFYL4a4RCflGDy4X+N+KKR5qeWfbZW3IVnpei9dui6VOjWpvlJRpB9gqqiFbsg
4eX7gCufENkhhvhC01NvcM+O+Q9ODfyt4Ar5Gdk9mIEVP7CVIxYiqtAF0Ni5pPRA
zsH578ECgYEA5xtDr5bOU1meh0WaY96pBro6KlgZ0P3Jcp8esTfhG5PE2I+UdjNu
WY+SWa0NP8020zwGFD+1h4AMGrGwSPZ6NiQl23qB3RN2faCtMRlQ8ikeqmLnrdp0
b0SFerMQM7FF0hIbhRark8PHHCBIkaPodAJ2+CqqI4DkC8cH8pWF29kCgYEA2mhv
P11D1S5SC3/QZFw8YeRw1wivsCFsotUTsZgNF0GJj+8ptm4LefC0Mo0agwfl7eki
SJkx5OGdQrrQfQDEuXscUvUVcK/2RxJRlbR/QyJzIN6gdTXymTipSQWYyvCrsjKF
w9f9bGC9Z9F4ucNAfE9CJDUKKbQbinlWlLI6iAkCgYB3sBoU1OBUMGS2n+h+cnFN
Z6L6DRiJsPXkY94MX+k4VAYtNebodGhg/8cGpGXpNgl/ymVHlVsZKsqaBI5Mq0HN
yljE2yRob0z9cPphJEBUudEE4yYjVrDYcz9BtXzdmKCVVAVmnsALTehPe7S5oI6h
jik5CzeEHZt9Mf2+t4tUuQKBgCT3D/0Vd+mY0WII2+hghAe9diuu2K1iutREY/Tm
2zBYc0PdIp4xudeFmboEj7wllhDSKG9JHlyyor8shyThAGq0H3Ma7+oGnhQhUZWY
2wEtz3Z8t4OfAdRU9rHZNKcEXMroKiOfZtD0/pmXpmsqVLu1XmhqYbH1PcQODU1V
bPqhAoGAS3djKQxo+b+VBuqAdSbx5bg0sZIfqq7Ouy2ADhh+2i+wT4UMHhU0wlF0
mkW44/iH1hSDEyCXrxyuTBqcLJmVUQIlU29BbZ0CpJfkhOmFC6oDFsdRBResgdq0
R6vZ25IJuwALft+XFJRrbP/BtUb2+D6j4lQ0FP2y6hSWwQMGtN4=
-----END RSA PRIVATE KEY-----

image

保存后,在凭据点击应用
image

  • 生成pipeline的脚本
    image

  • 拷贝生成的流水线脚本

    git credentialsId: 'f9d39981-7fdc-40ba-9a7a-e44022549503', url: 'git@10.100.24.87:k8s/tomcat_java_demo.git'
    

image

  • 保存配置
    image

    执行构建看看
    image

    发现构建成功

posted @ 2022-05-20 14:00  七月流星雨  阅读(1172)  评论(0编辑  收藏  举报