这是我写的第一个shell,分为2部分:
1. uploadSearchAutomatically.sh
#!/bin/bash
# Program:
# This program uploads recent search war to ftp
# History:
# 2011/10/31 Owen.Chen First Release
# jenkins自动构建搜索项目成功后,自动在$WORKSPACE中查找indexer.war和searcher.war,再解析出上传ftp的source和destination,最后连接ftp上传
# find two war of indexer and searcher in $WORKSPACE($1) and cut the name of the war
WAR=$(find $1 -name *.war | rev | cut -d '/' -f 1 - | rev)
echo "WAR set to $WAR"
# parse $WAR
WAR1=$(echo $WAR | cut -d ' ' -f 1)
PROJECT1=$(echo $WAR1 | cut -d '-' -f 1)
SOURCE1="$1/$PROJECT1/target/$WAR1"
DESTINATION1="search/$PROJECT1/war/recently/$WAR1"
echo "SOURCE1 set to $SOURCE1"
echo "DESTINATION1 set to $DESTINATION1"
WAR2=$(echo $WAR | cut -d ' ' -f 2)
PROJECT2=$(echo $WAR2 | cut -d '-' -f 1)
SOURCE2="$1/$PROJECT2/target/$WAR2"
DESTINATION2="search/$PROJECT2/war/recently/$WAR2"
echo "SOURCE2 set to $SOURCE2"
echo "DESTINATION2 set to $DESTINATION2"
# connect to ftp
ftp -n 192.168.1.254 <<!
user uploader uploader
binary
put $SOURCE1 $DESTINATION1
put $SOURCE2 $DESTINATION2
quit
!
exit 0
2. uploadApplicationAutomatically.sh
#!/bin/bash
# Program:
# This program uploads recent application war to ftp
# History:
# 2011/10/31 Owen.Chen First Release
# jenkins自动构建前端应用项目成功后,自动在$WORKSPACE中查找对应的应用项目,再解析出上传ftp的source和destination,最后连接ftp上传,这里与搜索项目不同点在于,搜索项目目录下存在2个war需要上传,应用项目目录下只会打一个war等待上传
# find the war of application project in $WORKSPACE($1) and cut the name of the war
WAR=$(find $1 -name *.war | rev | cut -d '/' -f 1 - | rev)
echo "WAR set to $WAR"
PROJECT=$(echo $WAR | cut -d '-' -f 1)
echo "PROJECT set to $PROJECT"
SOURCE="$1/$PROJECT/target/$WAR"
echo "SOURCE set to $SOURCE"
DESTINATION="application/war/$PROJECT/recently/$WAR"
echo "DESTINATION set to $DESTINATION"
ftp -n 192.168.1.254 <<!
user uploader uploader
binary
put $SOURCE $DESTINATION
quit
!
exit 0
3. jenkins配置
bash /usr/lib/jenkins/script/uploadApplicationAutomatically.sh $WORKSPACE
bash /usr/lib/jenkins/script/uploadSearchAutomatically.sh $WORKSPACE
分享到:
相关推荐
Jenkins安装包,可直接使用 java -jar jenkins.war --httpPort=8080启动
- 打包完成后,可以通过Jenkins的Post-build Actions配置自动部署到TestFlight、App Store Connect或其他分发渠道。 - 使用Fastlane或其他工具可以进一步自动化这个过程。 **四、最佳实践** - 保持Jenkins工作...
Jenkins的QQ提醒插件则是基于Mojo-Webqq构建的,主要目的是在Jenkins完成构建后,自动向指定的QQ账号发送消息。这不仅提高了沟通效率,还能确保团队成员在第一时间得知构建是否成功,从而快速定位并解决问题。 要...
https://github.com/jenkinsci/sonarqube-plugin 自己也从github下载,编译
在压缩包的文件名称列表中,只给出了"django-discover-jenkins-0.1.2",这通常意味着解压后会有一个包含项目源代码、文档和其他资源的文件夹,可能包括以下结构: - `django-discover-jenkins-0.1.2/` - `setup.py...
jenkins.war jenkins.war jenkins.war jenkins.war
grunt-jenkins-build-info 将 Jenkins 构建信息,包括源代码控制信息,添加到定义的 json 文件(包、凉亭等) 入门 这个插件需要 Grunt。 如果您以前没有使用过 ,请务必查看指南,因为它解释了如何创建以及安装和...
Post-Build Script Plug-in是其中的一个重要插件,它允许用户在构建过程完成后执行自定义脚本,以此来实现一系列自动化任务,比如发送通知、清理工作空间、执行质量检查等。这个插件的稳定版本确保了在执行这些关键...
aws-codebuild-jenkins-plugin, 一个插件,允许Jenkins用户使用 AWS CodeBuild运行一个构建 AWS CodeBuild插件Jenkins CodeBuild插件为Jenkins项目提供了一个构建步骤。 设置 Jenkins我们已经写了一个博客帖子,以...
放在Post Steps 的shell命令 ,一键自动部署(2021最新版)
- 构建完成后,Jenkins会自动将WAR包发送至指定的远程目录。 3. **手动部署验证** - 使用Docker命令手动将WAR包拷贝至Tomcat容器内,并重启Tomcat服务进行验证。 - 拷贝WAR包:`docker cp <container_id>:/...
-v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean 2)容器部署完成之后,登录页面http://虚拟机的IP:18080 进入容器查看密码: 输入密码开始按照提
- Jenkins CLI非常适合编写自动化脚本,例如,你可以创建一个shell脚本,定期检查代码仓库的变化并触发构建。 5. **安全性与权限**: - 使用CLI时,你需要确保有适当的权限。可以使用API Token或Jenkins用户名...
用Jenkins自动化搭建测试环境---jenkins自动化部署任务开发(git版)-附件资源
jenkins-war.war包
《Ansible在Jenkins自动化部署中的应用》 Ansible,作为一个强大的自动化工具,因其简洁的语法和无需在目标机器上安装代理的特性,在IT行业中备受青睐。本篇将重点探讨如何利用Ansible的"jenkins"责任角色进行自动...
### Jenkins+Gradle自动构建打包Android工程教程 #### 一、前言 随着软件开发规模的不断扩大以及持续集成(CI)理念的普及,自动化构建工具的重要性日益凸显。本教程将详细介绍如何利用Jenkins与Gradle搭建一个自动...
Build Android using Jenkins This is a sample app and tools for blog posts about full cycle of building Android from Jenkins. Posts Part 1 - Setup and build Android app from Jenkins Step by...
《Jenkins权威指南》适合想要了解Jenkins工具以及持续集成、持续交付理念的开发和测试人员阅读,也非常适合基于Jenkins构建持续集成、持续交付平台的技术人员阅读。 目录 第1 章 Jenkins 简介 1 第2 章 迈入...