Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题

这篇具有很好参考价值的文章主要介绍了Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题

编写一个expect脚本实现发布物上传到svn的功能比较简单,可能需要注意一点就是增加文件替换功能,其核心步骤有4步:

#从SVN指定路径下载内容
spawn svn co "$svndir"
#先删除掉已经存在的内容
svn delete $file 
#再加入新的文件
svn add --no-ignore --force $file
#最后提交
spawn svn ci -m "$msg"

但关键问题在于,脚本在mac上调试的好好的,放到jenkins的shell中执行就卡住,百思不得其解。

最后偶然间发现,jenkins中调用expect脚本,控制台输出是这样的:

spawn svn co http://192.168.x.x/V1.2.4/iOS/Build01 认证领域:
http://192.168.x.x:80 Subversion repository

但是在mac上调试脚本的时候,输出是这样的:

spawn svn co http://192.168.x.x/V1.2.4/iOS/Build01 Authentication
realm: http://192.168.x.x:80 Subversion repository

才意识到,这可能是个字符集的问题,分别在jenkins的shell中打印$LANG
输出为zh_CN.UTF-8, 而mac上shell打印该变量,输出结果为en_US.UTF-8。

至此,确定这是个字符集问题。

解决办法就比较简单了,在shell中执行的时候将字符集统一为调试脚本的字符集即可,问题解决,记之。文章来源地址https://www.toymoban.com/news/detail-689491.html

到了这里,关于Jenkins上使用expect脚本实现发布物上传SVN遇到字符集问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实现自动化构建与集成:Jenkins与SVN整合的指南

    在使用Jenkins的时候总是保存很慢,前端报错,错误:Found invalid crumb 。和CSRF验证有关联,有说使用Strict Crumb Issue插件来解决。 第一步:Strict Crumb Issuer插件安装 进入Jenkins插件管理,Available选项,搜索Strict Crumb插件安装Strict Crumb Issuer插件,然后进入jenkins-系统设置-全局

    2024年02月06日
    浏览(30)
  • Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)

    BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则。 java包括:javase,jjavaee,javame Jmeter有哪些Bean Shell: 1.前置处理器:Beanshell预处理程序。 2.定时器:BeanShell 3.采样器:BeanShell 4.后置处理器:BeanShell 5.断言:BeanShell 6.监听器:BeanShell 1.log 打印日志

    2024年03月13日
    浏览(32)
  • 【运维知识高级篇】超详细的Jenkins教程4(参数化构建+脚本传参+代码秒级发布+秒级回滚)

    之前我们介绍的大多是测试环境的推送,在生产环境中,我们不会用到那么多次的构建测试,但是会涉及稳定版本的发布和回滚,我们也通过jenkins配合gitlab去实现,通过远程仓库的tag传递参数,我们把这种方式称为参数化构建,在参数化构建的过程中,我们省略了代码质量检

    2024年02月07日
    浏览(30)
  • 【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年04月26日
    浏览(29)
  • 使用Jenkins处理自动化遇到的问题

    先简单写下,下次再补 1.本机运行 shell 没问题, Jenkins 运行shell报错,找不到命令 本机环境变量与Jenkins运行的环境变量不一致,在系统配置里面设置Jenkins环境变量 key=PATH value = $PATH:XXX XXX表示要你要加的环境变量,有多个用冒号隔开, 最好的办法就是把mac上的环境变量复制过

    2024年02月12日
    浏览(27)
  • Jenkins-执行脚本案例-初步认识JenKins的使用

    环境搭建 基础使用 1 执行脚本 直接输入脚本 新建一个项目 然后输入脚本即可: 立即构建: 查看控制台输出,点击构建的任务查看: 2)指定脚本 这里是docker 脚本记得在挂载的目录中去创建: 脚本内容 得到输出: 通过环境变量 有一些已经内置的环境变量, 可以直接在脚本

    2024年02月01日
    浏览(36)
  • shell脚本——expect脚本免交互

    目录 一.Here Document 1.1.定义 1.2.多行重定向  二.expect实现免交互 2.1.基础免交互改密码 2.2.expect定义 2.3.expect基本命令 2.4.expect实现免交互ssh主机 1.1.定义 使用I/O重定向的方式将命令列表提供给交互式程序,是标准输 入的一种替代品,可以帮助脚本开发人员不必使用临时文件来

    2024年02月12日
    浏览(31)
  • jenkins发布使用邮件添加审批

    首先安装好Email Extension Plugin插件并在 system下配置好邮件 然后配置流水线需要的参数 #pic_center pipeline如下: 效果如下:

    2024年02月17日
    浏览(28)
  • Jenkins+svn自动化部署

    背景:jenkins+git部署想必大家都熟悉,因为有一个老项目用的svn版本控制,这里发一篇自动打包部署的教程,欢迎补充 1.安装Jenkins 在CentOS中,可以通过以下命令安装Jenkins: 安装完成后,启动Jenkins服务: Jenkins默认的端口号是8080。也就是说,当您在浏览器中输入“http://loca

    2024年02月08日
    浏览(33)
  • ASP.NET Core + Jenkins实现自动化发布

    🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面有很多 高价值 技术文章, 是你刻苦努力也积累不到的经验 ,能助你快速成长。升职

    2024年02月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包