对于Jenkins执行PowerShell脚本感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍jenkins执行脚本,并为您提供关于jenkins实现shell脚本化定时执行任务的方法、jenk
对于Jenkins执行PowerShell脚本感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍jenkins 执行脚本,并为您提供关于jenkins 实现shell脚本化定时执行任务的方法、jenkins 执行shell脚本权限不够?、Jenkins 构建Docker镜像执行shell脚本用户权限问题、Jenkins-Powershell输出的有用信息。
本文目录一览:- Jenkins执行PowerShell脚本(jenkins 执行脚本)
- jenkins 实现shell脚本化定时执行任务的方法
- jenkins 执行shell脚本权限不够?
- Jenkins 构建Docker镜像执行shell脚本用户权限问题
- Jenkins-Powershell输出
Jenkins执行PowerShell脚本(jenkins 执行脚本)
我正在尝试从Jenkins运行PowerShell脚本,但是它似乎完全忽略了执行策略!通过直接执行powershell.exe或使用PowerShell插件来实现
附加信息:
Jenkins作为Windows服务运行(使用本地系统帐户,非交互式)。连接到该服务器并检查执行策略确实是RemoteSigned
:
PS C:\> whoamint authority\systemPS C:\> Get-ExecutionPolicyRemoteSignedPS C:\>
但是,在运行Jenkins构建时,情况并非如此。这是在Get-ExecutionPolicy -List
构建步骤中执行的输出:
d:\workspace\test-job>powershell Get-ExecutionPolicy -list Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Undefined
我还尝试从构建步骤明确设置它,什么也没有。
我想念什么?
答案1
小编典典经过两个多小时的梳理,问题出在x86 / x64上!!!
原来,Set-ExecutionPolicy
x64(默认)中的PowerShell对x86设置没有影响!
Jenkins是一个32位进程,从Windows服务运行-它执行x86 PowerShell!
此外,x86
PowerShell的Modules目录位于%systemroot%\SysWow64\WindowsPowerShell\1.0\Modules
,要记住的另一个重要事实!
jenkins 实现shell脚本化定时执行任务的方法
1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走nginx的访问请求。
socket发起请求之后不需要nginx执行交互可以断开了,但是socket这个任务在auction拍卖任务没结束前重启auction就会出问题。
解决访问是jenkins构建好之后将jar远程推送到生产服务器,提前退出后台执行服务器远程脚本,脚本通过ngnx提前切走nginx代理auction sleep 1800s,半小时后执行更新重启。
指定构建目录获取同级依赖
#!/bin/bash # 脚本中只要出现执行不是true的语句,就退出不再往下执行 set -e sed -i ''s/server 192.168.0.31:8090/#server 192.168.0.31:8090/g'' /home/nginx.proxy/conf/nginx.conf /home/nginx.proxy/sbin/nginx -s reload sleep 1800s # 导入环境变量 export jar_PATH=/data/web export APP_PATH=/home/auction # 判断老的进程是否存在,若存在就杀掉 killjar() { pid=`ps -ef|grep auction |grep java |awk ''{print $2}''` echo "auction Id list :$pid" if [ "$pid" = "" ] then echo "no auction pid alive" else kill -9 $pid fi } # 调用函数 killjar # 判断老的jar包是否存在,若存在就删除 [ -f $APP_PATH/auction-1.0-SNAPSHOT.jar ] && \ rm -rf $APP_PATH/auction-1.0-SNAPSHOT.jar # 更新最新的jar包 if [ -f $jar_PATH/auction-1.0-SNAPSHOT.jar ]; then mv $jar_PATH/auction-1.0-SNAPSHOT.jar $APP_PATH fi # 重新启动 cd $APP_PATH #nohup java -jar -Dspring.config.location=/home/auction/config/application.yml auction-1.0-SNAPSHOT.jar >/dev/null 2>&1& nohup java -jar auction-1.0-SNAPSHOT.jar >/dev/null 2>&1& # sleep 10秒, 等待java进程完成起来 sleep 5s sed -i ''s/#server 192.168.0.31:8090/server 192.168.0.31:8090/g'' /home/nginx.proxy/conf/nginx.conf /home/nginx.proxy/sbin/nginx -s reload echo ''Start success!''
到此这篇关于jenkins 实现shell脚本化定时执行任务的文章就介绍到这了,更多相关jenkins实现shell脚本定时执行任务内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
- 为Jenkins创建定时构建任务
- 为Jenkins添加SSH全局凭证
- Jenkins配置maven项目之打包、部署、发布的全过程
- 使用jenkins将项目部署到另一台主机的过程
- 解决Jenkins集成SonarQube遇到的报错问题
- 使用Jenkins自动化构建工具进行敏捷开发
jenkins 执行shell脚本权限不够?

Jenkins 构建Docker镜像执行shell脚本用户权限问题
转载 文章 供参考
在jenkins 构建docker 镜像时,执行到docker build 时,构建失败了,错误信息如下:
+ docker build -t cloud-paas-portal:13 --build-arg APP_KEY=cloud-paas-portal .
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Build step ''Execute shell'' marked build as failure
Finished: FAILURE
后度娘后,解决办法是
将vim /etc/sudoers 里面的Defaults requiretty 注释掉重启再一次构建就ok了
Jenkins-Powershell输出
删除returnStdout: true
可以完成此操作。现在,我在Jenkins控制台日志中看到了powershell script
和MyTest.jar
的输出
关于Jenkins执行PowerShell脚本和jenkins 执行脚本的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于jenkins 实现shell脚本化定时执行任务的方法、jenkins 执行shell脚本权限不够?、Jenkins 构建Docker镜像执行shell脚本用户权限问题、Jenkins-Powershell输出等相关知识的信息别忘了在本站进行查找喔。
本文标签: