Gitlab_ansible_jenkins三剑客⑤jenkins Pipeline-job的使用
Pipeline-job的使用
创建Pipeline任务

找到root用户的id

编写pipeline脚本
#!groovy
pipeline{
agent {node {label 'master'}}
environment {
PATH="/bin/:sbin:usr/bin:usr/sbin:/usr/local/bin"
}
parameters {
choice(
choices: 'dev\nprod',
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: "6bdd72fd-dcc1-4977-9978-4982aae37dc9", 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..."
}
}
}
}
}
编译结果:

Jenkins与基础应用集成

打开shell模块编辑

编写测试脚本
#!/bin/sh
user=`whoami`
if [ $user == 'deploy' ]
then
echo "hello, my name is $user"
else
echo "sorry, i am not $user"
fi
ip addr
cat /etc/system-release
free -m
df -h
py_cmd=`which python`
$py_cmd --version

带参数的界面


添加参数选项


脚本
#!/bin/sh
echo "current deploy environment is $deploy_env"
echo "the build is $version"
echo "the password is $pass"
if $bool
then
echo "request is appoved"
else
echo "request is rejected"
fi


编译结果

Jenkins和git的集成


Gitlab_ansible_jenkins三剑客⑤jenkins Pipeline-job的使用的更多相关文章
- Gitlab_ansible_jenkins三剑客⑥Jenkins和ansible集成
ip 角色 备注 10.11.0.215 jenkins服务器 通过deploy运行jenkins服务,deploy用户做了免秘钥登录ansible服务器 10.11.0.210 ansible服务器 ...
- Gitlab_ansible_jenkins三剑客④jenkins安装图解及freestyle的简单使用
java环境准备 # 安装jdk1.8 [root@node02 ~]# rpm -ivh jdk-8u181-linux-x64.rpm vim /etc/profile export JAVA_H ...
- 在容器中运行 Jenkins pipeline 任务
持续集成中的 pipeline 技术和 docker 都是当前正在发展的主流方向,当然把它们结合起来在 CI/CD 过程中发挥出更强大的威力也是大家共同的目标.本文将介绍如何在 Jenkins pip ...
- 基于Jenkins Pipeline的ASP.NET Core持续集成实践
最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下. 一.关于持续集成与Jenkins Pipelin ...
- Jenkins pipeline job 根据参数动态获取触发事件的分支
此文需要有Jenkins pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins ...
- Jenkins pipeline:pipeline 使用之语法详解
一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...
- Jenkins pipeline:pipeline 语法详解
jenkins pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...
- [持续交付实践] Jenkins Pipeline 高可用设计方法
前言 这篇写好一段时间了,一直也没发布上来,今天稍微整理下了交下作业,部分内容偷懒引用了一些别人的内容.使用Jenkins做持续集成/持续交付,当业务达到一定规模的时候,Jenkins本身就很容易成为 ...
- Jenkins pipeline shared library
Jenkinsfile https://jenkins.io/doc/book/pipeline/jenkinsfile/ Jenkins Pipeline is a suite of plugins ...
随机推荐
- MySQLorder by用法
首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句. 其次,order by写法: 1. select 字段列表/* from 表名 where 条件 order ...
- 火眼发布Windows攻击工具集
导读 渗透测试员的喜讯:安全公司火眼发布Windows攻击工具集--足足包含140个程序. Kali Linux 已成为攻击型安全专家的标配工具,但对需要原生Windows功能的渗透测试员来说,维护良 ...
- sql 根据身份证号码计算年龄
,), GETDATE()) / 365.25) from ConstructionInfo
- LOJ子序列
题目描述 https://loj.ac/problem/6074 题解 对于子序列的dp,我们可以设置一个dp. 我们设dp[i]表示以i这个字符结尾的子序列个数,转移为dp[i]+=∑dp[k]-d ...
- 【洛谷P1402】酒店之王
题目大意:有三个集合 \(P,Q,N\),P 与 N 集合之间存在一些有向边,N 与 Q 集合之间存在一些有向边.在三个集合中每个点最多只能利用一次的前提下,求最多能利用多少N 集合中的点,使得 \( ...
- setTimeout与setInterval
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法:setTimeout(code/function, milliseconds, param1, param2, ...) ...
- MFC:关联变量
1. 对象(控制)变量(control) a. 数据类型:control 只能创建关联一次 b). control 用来操控控件 c). 创建 control 变量:控件 -> 右击 -& ...
- ddt运行测试方法时报错AttributeError: type object 'TestHttpRq' has no attribute 'test_http_rq_login'
import unittest import ddt #装饰器 from ddt import ddt,data,unpack #导入ddt中的各个模块 from homework.unittest_ ...
- windows下网络编程UDP
转载 C++ UDP客户端服务器Socket编程 UDPServer.cpp #include<winsock2.h>#include<stdio.h>#include< ...
- 在PHP中如何把数组写成配置文件
1.配置文件 <?php return array ( 556770 => '65460d6684dcad3d0a92f1feb7fde199', 567701 => '9c2acd ...