当前位置:网站首页>Introduction to Jenkins (2) declarative pipeline
Introduction to Jenkins (2) declarative pipeline
2020-11-06 22:33:00 【Super_ Charles】
1. Jenkins Pipeline Basic concepts
Pipeline is a user-defined CD Pipeline model . The pipeline code defines the entire build process , It usually involves building , The phase of testing and delivering an application . Jenkins Pipeline( Or for short "Pipeline") It's a set of plug-ins , Integrate the implementation and implementation of continuous delivery into Jenkins in . Continuous delivery Pipeline Automation expresses such a process : Continuous delivery of software based on version control management . Jenkins Pipeline The definition of is usually written into a Jenkinsfile In the text file , This file can be placed in the project's source code control library .
2.Jenkinsfile Basic grammar
pipeline { // Specific grammar ,pipeline The block defines all the work done in the pipeline
agent any // agent Assign an actuator to the entire pipeline ( On the node ) And the work area
stages { // All processes ( state ) The outer block of , There is only one
stage('Build') { // Every stage It's a process , Definition name
steps { // Step block , Internal contains specific operations
sh 'make' // sh operation , The words between the quotation marks will look like shell Direct execution
}
}
stage('Test'){
steps {
sh 'make check'
junit 'reports/**/*.xml' //junit Use matching definitions to test xml Unit test
}
}
stage('Deploy') {
steps {
sh 'make publish'
}
}
}
}
3. establish Hello World Assembly line
- Sign in
Jenkins, A new task (New Item), choiceAssembly line, Enter the project nameHello Pipeline, determine . - Fill in the description , Check
Parametric build process (This project is parameterized). - Add parameter , choice
Character parameters (String parameter), And set the string parameter ( name , The default value is , describe ), So we are Jenkinsfile You can get this value in . - Slide down to
Assembly line, Define choicePipeline script, The script inputs the following , Then save .
pipeline {
agent any
environment { // environment variable
GREETING="Hello"
}
stages{
stage(' Say hello ') {
steps{
sh 'echo "$GREETING $TITLE"'
}
}
}
post { // After the build is completed, the post operation
aborted { // If the build breaks , execute
echo ' Build aborted !'
}
success { // Build successfully executed
echo ' Building a successful !'
}
failure { // Build failed execution
echo ' Build failed !'
}
}
}
-
Click on
Build with Parameters( Parametric construction ), thenBegin to build. -
Build the output interface :

-
Put the mouse on the green box under the greeting , The dot appears
logs, You can see that the expected value is output . -
Find the... In the lower left corner
Build History( Building history )The build version number of , If it is at present#1, Click in , choiceConsole OutputView the detailed execution log .
# success Console Output
Started by user charles
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /home/jenkins/root/workspace/Hello Pipeline
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { ( Say hello )
[Pipeline] sh
+ echo 'Hello Jenkins Pipeline'
Hello Jenkins Pipeline
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
Building a successful !
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
版权声明
本文为[Super_ Charles]所创,转载请带上原文链接,感谢
边栏推荐
- 预留电池接口,内置充放电电路及电量计,迅为助力轻松搞定手持应用
- Detect certificate expiration script
- JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
- How does varhart xgantt represent working days on a calendar
- Application of UHF RFID medical blood management system
- 2020-08-15: under what circumstances should data tasks be optimized?
- 插件Bilibili新版0.5.5
- 2020 database technology conference helps technology upgrade
- 8.Swarm创建维护和水平扩展Service
- Stm32f030k6t6 compatible replacement smart mm32f031k6t6
猜你喜欢

预留电池接口,内置充放电电路及电量计,迅为助力轻松搞定手持应用

August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)

What are the highlights of Huawei mate 40 series with HMS?

Gantt chart grouping activities tutorial

The Interpreter pattern of behavior pattern

C calls SendMessage to refresh the taskbar icon (the icon does not disappear at the end of forcing)

JVM memory allocation - xms128m - xmx512m - XX: permsize = 128M - XX: maxpermsize = 512M

移动端像素适配方案

心理咨询app开发所具备的优点与功能

How does LeadTools detect, read and write barcodes
随机推荐
Points to be considered when deleting mapping field of index in ES
How does LeadTools detect, read and write barcodes
2020年新规,微信封号怎么快速解除?
Bluetooth broadcast chip for Shanghai giant micro
Introduction to the development of small game cloud
How to add modules to nginx image?
2020-08-20: the difference between go and python?
2020-08-14:数据任务的执行引擎用的哪些?
STM32F030C6T6兼容替换MM32SPIN05PF
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
vue3 新特性
Erd-online free online database modeling tool
Utility class functions (continuous update)
Interviewer: how about shardingsphere
甘特图对活动进行分组教程
win7 APPCRASH(解决方法)(转)
【涂鸦物联网足迹】涂鸦云平台全景介绍
Google browser realizes video playback acceleration function
2020-08-29: process thread differences, in addition to the inclusion relationship, the underlying details?
C calls SendMessage to refresh the taskbar icon (the icon does not disappear at the end of forcing)