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的使用的更多相关文章

  1. Gitlab_ansible_jenkins三剑客⑥Jenkins和ansible集成

    ip 角色 备注 10.11.0.215 jenkins服务器 通过deploy运行jenkins服务,deploy用户做了免秘钥登录ansible服务器 10.11.0.210 ansible服务器 ...

  2. Gitlab_ansible_jenkins三剑客④jenkins安装图解及freestyle的简单使用

    java环境准备 # 安装jdk1.8 [root@node02 ~]# rpm -ivh jdk-8u181-linux-x64.rpm vim /etc/profile export JAVA_H ...

  3. 在容器中运行 Jenkins pipeline 任务

    持续集成中的 pipeline 技术和 docker 都是当前正在发展的主流方向,当然把它们结合起来在 CI/CD 过程中发挥出更强大的威力也是大家共同的目标.本文将介绍如何在 Jenkins pip ...

  4. 基于Jenkins Pipeline的ASP.NET Core持续集成实践

    最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下. 一.关于持续集成与Jenkins Pipelin ...

  5. Jenkins pipeline job 根据参数动态获取触发事件的分支

    此文需要有Jenkins pipeline job 的简单使用经验 场景 我们日常的测试函数, 一般是不能仅仅在本地跑的,还需要一个公共的跑测试的环境,作为合并新的PR的依据. 如果用Jenkins ...

  6. Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

  7. Jenkins pipeline:pipeline 语法详解

    jenkins  pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...

  8. [持续交付实践] Jenkins Pipeline 高可用设计方法

    前言 这篇写好一段时间了,一直也没发布上来,今天稍微整理下了交下作业,部分内容偷懒引用了一些别人的内容.使用Jenkins做持续集成/持续交付,当业务达到一定规模的时候,Jenkins本身就很容易成为 ...

  9. Jenkins pipeline shared library

    Jenkinsfile https://jenkins.io/doc/book/pipeline/jenkinsfile/ Jenkins Pipeline is a suite of plugins ...

随机推荐

  1. springboot项目从硬盘指定位置读取文件(获取静态资源)

    方法一:继承WebMvcConfigurerAdapter类 package com.imooc.demo.config; import org.springframework.context.ann ...

  2. Python测试模块doctest

    面试被问到了却没有用过,很尴尬:今天看了一下,真的是一个很简单的测试模块 方便起见,这里直接拿菜鸟教程的介绍和例子过来 开发高质量软件的方法之一是为每一个函数开发测试代码,并且在开发过程中经常进行测试 ...

  3. 【问题解决方案】Github中的jupyter notebook文件(.ipynb)加载失败/失败

    两个方法: 法一:本机安装jupyter notebook的情况下直接下载文件并打开 本机打开的话会在浏览器中显示,地址为localhost:8888,也就是本机 法二:在线打开:利用 'https: ...

  4. ADC获取滑块的值(8通道)

    #include "TgcConfig.h"#include "my_usb.h" /************************************* ...

  5. spring整合junit进行测试

    以下只是一个模板,大家记得改变配置文件 package cn.itcast.crm.dao; import org.junit.Test; import org.junit.runner.RunWit ...

  6. postgresql 基本使用及常见问题

    基本使用参考 https://www.yiibai.com/postgresql/postgresql-insert.html 关于编码问题: 这是一个很复杂,但弄懂之后还是很迷的问题. postgr ...

  7. Magento composer 安装

    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition:2.2 ...

  8. 【BZOJ2721】樱花(数论)

    [BZOJ2721]樱花(数论) 题面 BZOJ 题解 先化简一下式子,得到:\(\displaystyle n!(x+y)=xy\),不难从这个式子中得到\(x,y\gt n!\). 然后通过\(x ...

  9. CAN通信帧ID如何设定?

    CAN总线ID是包含在报文帧中的. 1.主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同.ID值越低,报文优先级越高,在两组不同ID报文同时上线时候,仲裁机 ...

  10. jQuery动态添加、删除按钮及input输入框

    输入框的加减实现: <html> <head> <meta charset="utf-8"> <title>动态创建按钮</t ...