页面“Pipeline”与“Jenkins自动化构建和部署例子”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
 
 
第1行: 第1行:
=Jenkins Pipeline 简介=
+
=站内源码 =
Jenkins pipeline 是 Jenkins 2.0 的精髓,,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色。
+
[[代码发布]]
  
简单来说,就是一套运行于 Jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。
+
=jenkins 使用Maven构建Java应用程序=
 +
[https://www.jenkins.io/zh/doc/tutorials/build-a-java-app-with-maven/  使用Maven构建Java应用程序 ]
  
Pipeline 的实现方式是一套 Groovy DSL,任何发布流程都可以表述为一段 Groovy 脚本,并且 Jenkins 支持从代码库直接读取脚本,从而实现了 Pipeline as Code 的理念。
+
=java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署=
 +
[https://juejin.cn/post/6955025879688806430#heading-66 java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署(超详细) ]
  
=Jenkins Pipeline 支持两种语法=
+
=download.app=
<pre>
 
  
 +
jenkins project name  prod-tg-websi
  
My-pipeline-job01 ->流水线语法   我好像没怎么用
+
=* conf project =
 
+
<pre>
Jenkins Pipeline 支持两种语法,一种 Declarative Pipeline(声明式),一种 ScriptedPipeline(脚本式)。
+
新建 自由风格的软件项目 -
 +
geneal 丢弃旧的构建
 +
源码管理 用git  http的话就直接用上你的gitlabt用户和密码
 +
构建  这里填写上你的 over SSH  服务器 一般在  系统管理--系统设置里面配置并起别名
 +
一般hostname 填写IP username    Remote Directory /   其它的看着办
  
安装pipeline相关插件  全部要显示为Success  pending是不行的
 
  
 +
构建 要填写的
  
声明式的 Pipeline 限制用户使用严格的预选定义的结构,是一种声明
+
Source files  **
式的编程模型,对比脚本式的 Pipeline 学习起来更加简单;
+
Remove prefix  不填写
 
+
Remote directory  你远程服务器的web目录
脚本式的 Pipeline 限制比较少,结构和语法的限制由 Groovy 本身决定,是一种命令式的编程模型。
 
所以我们学习使用声明式的方式编写 jenkinsfile。
 
一般来说 jenkinsfile 会被放在代码库的根目录下。
 
 
 
当然也可以在 Web 页面定义。
 
 
 
下面是两种不同方式的 jenkinsfile 示例
 
 
</pre>
 
</pre>
==Jenkinsfile (声明式)==
 
  
 +
=* 配置权限=
 
<pre>
 
<pre>
 +
#这样还视图自动归类功能 不错不错  记住前面不要有空格
 +
Manage and Assign Roles -->  Manage Roles -->    在他有的项目组里面 Frontend_h5    添加  prod-tg-websit| -->
  
pipeline {
 
    agent any
 
    stages {
 
        stage('Build') {
 
            steps {
 
                echo 'Building..'
 
                }
 
            }
 
            stage('Test') {
 
                steps {
 
                    echo 'Testing..'
 
                }
 
            }
 
            stage('Deploy') {
 
                steps {
 
                    echo 'Deploying....'
 
                }
 
            }
 
        }
 
    }
 
  
前面我们说过,声明式的Pipeline有严格的预定义格式结构,有固定的格式,外层必须是pipeline{},
+
Manage and Assign Roles --> Assign Roles
紧接着是 agent 就是节点node ,agent也是固定的,pipeline紧跟着进来 一定是agent 参考上面的格式 后面的any是任何节点还是其中一个节点,指定某一个节点是自己指定,通过标签自己来指定节点
+
   
 
+
Item roles -->User/group to add 填写项目名  prod-tg-website</pre>
指示 Jenkins 分配一个执行器和工作空间来执行下面的 Pipeline,
 
  
stages和steps是申明式Jenkinsfile必须的,stages是一个个阶段,所有的stage必须要定义在stages里,
+
=前端 nodejs jenkins之自动打包构建nodejs应用=
  
stages(‘’) 括号里面是名称,这个阶段是什么名称,stages这个名称不能重复,同一个stage名称只能有一个
+
[https://www.cnblogs.com/vipzhou/p/7890016.html  jenkins学习之自动打包构建nodejs应用 ]
  
每一个stage下的 step 要定义在一个 steps 里,stages里面包含了step,具体的执行步骤都写在step里面 ,一行一个,可以写多行
+
[https://www.huaweicloud.com/articles/4e4228c181b8e610999badfa00ff7e4e.html Jenkins打包NodeJS项目---入门篇]
</pre>
 
 
==Jenkinsfile(脚本式)==
 
<pre>
 
 
 
node {
 
    stage('Build') {
 
        //  
 
    }
 
    stage('Test') {
 
        //
 
    }
 
    stage('Deploy') {
 
        //
 
    }
 
}
 
 
 
在脚本式 jenkinsfile 里,你可以定义一个 node 或者多个 node 块,然后在 node 块里
 
定义你的 stage,在 stage 里定义你的 step 即可
 
</pre>
 
  
=see also=
+
[https://my.oschina.net/mobinchao/blog/871703 Jenkins打包NodeJS项目---入门篇]
[https://www.cnblogs.com/mingerlcm/p/12790884.html Jenkins Pipeline介绍]
 
  
[https://www.cnblogs.com/mingerlcm/p/12727253.html jenkins从头到尾 目录]
+
[https://blog.csdn.net/weixin_43931358/article/details/103013031 jenkins系列之使用yarn构建前端项目]
  
[https://www.cnblogs.com/mingerlcm/p/12799362.html Jenkins Pipeline示例]
 
  
[https://www.cnblogs.com/mingerlcm/p/12799493.html  使用 pipeline 实现 monitor 仓库代码的发布 ]
+
[https://blog.51cto.com/wzlinux/2491394 docker 中运行的 jenkins 使用 npm 构建 Node.js 应用]
  
[https://www.cnblogs.com/itech/p/12747748.html  Jenkins pipeline jenkinsfile的两种写作方式声明式和脚本式 ]
+
=后端=
 +
==php jenkins==
 +
[[Jenkins实现PHP持续集成部署]]
  
[https://objcoding.com/2019/02/16/docker-jenkins-pipeline/ 基于Jenkins Pipeline自动化部署知道个过程而已]
+
[[category:ops]] [[category:devops]]
  
 +
== Java tomcat==
  
[https://www.jianshu.com/p/bcd42b4f9885 Jenkins + Pipeline 自动化部署项目]
+
和xk的一样喽
[[category:ops]] [[category:devops]]
+
[https://blog.51cto.com/u_13760351/2382103  Jenkins自动部署发布Java代码(完整教程]

2021年7月1日 (四) 06:23的版本

站内源码

代码发布

jenkins 使用Maven构建Java应用程序

使用Maven构建Java应用程序

java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署

java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署(超详细)

download.app

jenkins project name  prod-tg-websi

* conf project

新建 自由风格的软件项目 ->   
geneal 丢弃旧的构建 
源码管理 用git   http的话就直接用上你的gitlabt用户和密码 
构建  这里填写上你的 over SSH  服务器 一般在  系统管理--系统设置里面配置并起别名 
 一般hostname 填写IP username    Remote Directory /    其它的看着办


构建 要填写的 

Source files  **
Remove prefix  不填写
Remote directory  你远程服务器的web目录

* 配置权限

#这样还视图自动归类功能 不错不错  记住前面不要有空格
Manage and Assign Roles -->  Manage Roles -->    在他有的项目组里面 Frontend_h5    添加   prod-tg-websit| -->


 Manage and Assign Roles --> Assign Roles 
 
Item roles -->User/group to add  填写项目名  prod-tg-website

前端 nodejs jenkins之自动打包构建nodejs应用

jenkins学习之自动打包构建nodejs应用

Jenkins打包NodeJS项目---入门篇

Jenkins打包NodeJS项目---入门篇

jenkins系列之使用yarn构建前端项目


docker 中运行的 jenkins 使用 npm 构建 Node.js 应用

后端

php jenkins

Jenkins实现PHP持续集成部署

Java tomcat

和xk的一样喽 Jenkins自动部署发布Java代码(完整教程