jenkins集成自定义shell脚本

news/2024/12/25 22:39:13/文章来源:https://www.cnblogs.com/yxh168/p/18631516

在jenkins工作空间中动态生成shell脚本

           

shell语法

cat > h5build.sh <<EOFcurrent=\`date "+%Y-%m-%d %H:%M:%S"\`timeStamp=\`date -d "\$current" +%s\`   currentTimeStamp=\$((timeStamp*1000+\`date "+%N"\`/1000000))echo \`cat version.json | grep -o  _v.*_ | sed 's/_//g'\`  \$currentTimeStamp > version2.json
EOF
View Code

          

pipeline语法

        pipeline和shell语法有所不同

pipeline {agent anyenvironment {//这里修改代码的分支名称GIT_BRANCH = 'test'}stages {stage('GetCode'){steps {git branch: "${env.GIT_BRANCH}", url: 'https://192.168.30.111:8090/soc/yun_soc_h5.git'}post {success {print("getCode success")}}}stage('build') {steps {script {echo "当前构建的Git分支名称是: ${env.GIT_BRANCH}"sh "npm config set unsafe-perm=true"sh "npm install"sh "npm install image-webpack-loader"sh "npm run build:prod"sh "echo ${env.GIT_BRANCH} > ./version.json"}}}stage('Deploy') {steps {script {sh '''
              cat > h5deploy.sh <<EOF 
current=\\`date "+%Y-%m-%d %H:%M:%S"\\` 
timeStamp=\\`date -d "\\$current" +%s\\`  
currentTimeStamp=\\$((timeStamp*1000+\\`date "+%N"\\`/1000000)) 
echo \\`cat version.json | grep -o  _v.*_ | sed 's/_//g'\\`  \\$currentTimeStamp > dist/version.json 
EOF
'''
             sh "chmod +x h5deploy.sh  && sh h5deploy.sh"sh "ssh admin@192.168.30.92 'rm -fr /data/soc/nginx/html/*'"sh "scp -r ./dist/* admin@192.168.30.92:/data/soc/nginx/html"}}}}
}
pipeline生成shell文件

      

     流水线构建结果

       

          

         

       打包成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858888.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python多进程,使用pipe进行进程间的通讯

import multiprocessing import time python多进程 pipe在多进程中,进程间的通信是一个常见的需求。管道(Pipe)提供了一种简单有效的进程间通信方式, 允许数据在进程间传递。通过使用管道,我们可以让一个进程发送数据,另一个进程接收。以下是一个使用管道在两个进程之间传…

Jenkins 无法搜索插件, 错误信息ERROR: Signature verification failed in update site

Jenkins 无法搜索插件, 错误信息ERROR: Signature verification failed in update site 参考文档 https://blog.csdn.net/weixin_43537484/article/details/120370719 /etc/sysconfig/jenkins

CentOS 7.9升级内核到4.18.0

参考:https://docs.shanhe.com/v6.1/compute/vm/best-practices/linux/kernel_upgrade/ 需求:内核版本3.10.0 ==> 4.18.0 操作步骤 1、查看当前内核版本 uname -runame -acat /etc/redhat-releaserpm -qa | grep kernel # 查看系统中全部的内核2、升级内核 a、更新yu…

wordpress固定链接设置

通过上面的测试发现,切换不同链接结构,同一张网页但是网址却发生了改变。 为什么要改变网址的结构? 主要原因,是为了搜索引擎优化。搜索引擎不喜欢带有问号的网址,也不喜欢层级特别深的网址。所以,WordPress允许你去设置网址的结构,让网址更符合搜索引擎的要求(官方说法…

【安全工具】蚁剑二开:添加自定义编码/解码器

以下文章来源于Spade sec ,作者0xsdeo 前言 我大概已经写了两三个月关于JS逆向的文章,正好前两天抽空研究了一下关于蚁剑如何添加编码/解码器,所以年底这几天就分享一些关于安全的内容,应该也是我放假前的最后两篇文章。 注:本人目前没有看过任何关于蚁剑二开文章,以下内…

【项目推荐】搭建自己的个人主页

你是否想过将自己的简历做成一个单页面的网站?在这个网站上可以自定义你想展示的内容,不只求职信息,求偶信息也可以!试试下面的代码吧。 本文首发于微信公众号 呼哧好大枫,原作者与本文作者系同一人。项目地址:http://hlt.cab/ 代码开源地址:中文:https://gitee.com/kk…

vue3 vite使用postcss-px-to-viewport 实现页面自适应

三、如何在 Vue3 中使用 postcss-px-to-viewport? 首先,我们需要安装相关的插件: npm install postcss-px-to-viewport -D 在vite.config.js文件中进行配置 import vue from @vitejs/plugin-vue // vite.config.ts import { defineConfig } from vite import AutoImport fro…

基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要低密度奇偶校验码(Low-Density Parity-Check Codes,LDPC)是一种具有逼近香农限性能的信道编码技术。在现代通信系统中,LDPC 码因其优异的…

PTA 两次大作业总结:详细分析与实践经验

PTA 两次大作业总结:详细分析与实践经验 前言 回顾这次的家居强电电路模拟程序大作业,它无疑是一段充满挑战与收获的编程与设计旅程。从最初的基础电路组件建模,到后期复杂的多设备互联与控制反馈,每一步都考验着我的技术能力和解决问题的智慧。这不仅让我深入掌握了诸多编…

Go init()使用详解

持续创作,加速成长!这是我参与「掘金日新计划 10 月更文挑战」的第1天,点击查看活动详情 1. init()的使用 见名知意,init()是Go中的初始化函数。我们都知道,main()函数是Go程序启动的入口,而init()函数就是在main()之前,起到一个初始化的作用。 Go代码解读 复制代码pa…

LangGraph:基于图结构的大模型智能体开发框架

LangGraph 是LangChainAI开发的一个工具库,用于创建代理和多代理智能体工作流。它提供了以下核心优势:周期、可控性和持久性,对于Agent智能体开发者来说无疑减少了许多工作量。以下篇幅仅从本人角度阐述LangGraph在开发过程中的亮点以及使用方法。 基本介绍 LangGraph的Stat…

P7302 [NOI1998] 免费的馅饼

P7302 [NOI1998] 免费的馅饼 题目描述 SERKOI 最新推出了一种叫做“免费馅饼”的游戏:游戏在一个舞台上进行。舞台的宽度为 \(w\) 格(从左到右依次用 \(1\) 到 \(w\) 编号),游戏者占一格。开始时游戏者可以站在舞台的任意位置,手里拿着一个托盘。下图为天幕的高度为 \(4\)…