jenkins 集成部署站点

Jenkins 集成部署站点

最近为了在两台Linux中,去作jenkins的集成发布,所以在部署jenkins的这台电脑(A) 要把打包好的war 部署到远程服务器(B)

  • 在两台电脑间进行传输的时候,要配置一个免登入的配置
    1.1. 在A电脑上 ssh-keygen生成秘钥,同时把生成的id_ras.pub文件上传到B服务器(/home/${user}/.ssh/authorized_keys文件里)

    1.2. 修改B服务器的 .ssh 文件属性为 700,authorized_keys为 600
  • 在A上写好 jenkins 部署的文件
  1. build_post.sh
 1 #! /bin/sh/
 2 #复制文件
 3 echo "cp web.war   --------------->   ROOT.war"
 4 #目标文件
 5 rootfile=/opt/app/deploy/build/web/ROOT.war
 6 #执行复制
 7 cp -r -f  /home/developer/.jenkins/workspace/web-build/build/web/libs/web.war $rootfile
 8
 9
10 echo "send file to remote server"
11 #将本地文件上传的服务器
12 sh /opt/app/deploy/web/upload.sh -f /opt/app/deploy/web/hostfile -s  $rootfile -p web
13
14 if [ $? -ne 0 ] ;then
15
16 echo "execute upload shell failed"
17
18 exit $?
19
20 fi
21
22 echo "send success"
23 exit $?
  1. upload.sh的文件
 1 #! /bin/sh
 2
 3 echo "start sync war to remote server"
 4
 5
 6 while getopts f:s:p: OPT;do
 7         case $OPT in
 8                 f)
 9                    files="$OPTARG $files"
10                    ;;
11                  s)
12                  sourcefiles="$OPTARG"
13                 ;;
14                  p)
15                 project="$OPTARG"
16 echo "project is $project"
17                 ;;
18                 *)
19                   echo "usage :`basename $0` [-f hostfile] [-s source file]  <from><to>"
20                   exit 2
21                   esac
22                   done
23
24
25 shift `expr $OPTIND - 1`
26
27
28 if [ "" == "$project" ] ;then
29 echo "usage: `basename $0` [-p project]"
30 exit 2
31 fi
32
33 if [ "" == "$sourcefiles" ] ;then
34 echo "usage:`basename $0` [-s sourcefile]"
35 exit 2
36 fi
37
38
39 if [ "" == "$files" ] ;then
40 echo "usage :`basename $0` [-f hostfile] <from><to>"
41 exit 2
42 fi
43
44 for file in $files
45 do
46 if [ ! -f "$file" ] ;then
47 echo "no hostfile file : $file"
48 exit 2
49 fi
50
51 hosts="$hosts `cat $file`"
52 done
53
54 for host in $hosts; do
55
56 echo "send $sourcefiles to $host"
57
58 echo "remote server url :/home/appuser/upload/$project/"
59
60 scp -r  $sourcefiles [email protected]$host:/opt/app/webapps/$project/webapps/
61
62 done
63
64 exit
  • 这里要启动远程服务器的tomcat重启站点
#! /bin/sh

echo "call remote tomcat stop"

hostfile=/opt/app/deploy/web/hostfile

hosts=`cat $hostfile`

for host in $hosts; do

ssh [email protected]$host ‘/opt/app/bin/tomcat-web-stop.sh‘
echo "wait 5s for tomcat stop"

sleep 5
if [ $? -eq 0 ] ; then
  echo ‘tomcat Stopped‘

ssh [email protected]$host ‘/opt/app/bin/tomcat-web-start.sh‘

if [ $? -eq 0 ] ;then
echo "tomcat started"

echo "wait 30s for tomcat starting"

sleep 30
# 查看是否已经启动
url="http://$host:8091/status"

echo "curl $url"

curl $url

fi
fi
done
exit $?
时间: 2025-01-01 16:28:15

jenkins 集成部署站点的相关文章

git jenkins 基本部署 jenkins持续集成

1.什么是持续集成?  持续集成来简化我们的工作 还能让产品可以快速迭代,同时还能保持代码高质量产出.2.Jenkins的安装配置:        [[email protected] ~]# yum install java -y        [[email protected] ~]# yum localinstall jenkins-2.176.1-1.1.noarch.rpm -y        [[email protected] ~]# systemctl start jenkin

gitlab+jenkins 自动化部署 持续集成

环境: 1.centos7.6 2.jdk1.8.0_141 3.4G 30G 4core 4.关闭防火墙和selinux 一.安装jenkins 1. 下载jenkins https://pkg.jenkins.io/redhat/  jenkins-2.208-1.1.noarch.rpm 2.安装jdk和jenkins rpm包 rpm -ivh jdk-8u141-linux-x64.rpm rpm -ivh jenkins-2.208-1.1.noarch.rpm 3.启动服务及设置开

转载:持续集成Jenkins+sonarqube部署教程

转载: 持续集成Jenkins+sonarqube部署教程 持续集成 1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简易的集成,后续需要修改accio源码做深度集成) 1.2 预计读者 系统配置管理员:要懂得搭建持续集成环境,有问题可以排查:架构师:了解持续集成实现原理,协助项目接入持续集成.项目在持续集成环境运行中,进行维护.分析构建异常等:维

自动化集成部署udeployer 批量统一安装一键部署

通过jenkins构建项目:version版本控制:udployer自动化集成:ucop业务巡检做到高效高可用的自动化体系. 1.0版本: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由python框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则文件DIY程度,减少新增服务带来的修改代码,实现扫描config自动化集成部署. 2.0版本: 版本控制 ,关联Jenkins实现自动化提交版本转测试 备份与回

jenkins介绍部署及三种构建方式配置

[隐藏] 1前言 1.1jenkins介绍 1.2jenkins好处 1.3我的jenkins实践 1.4jenkins使用前提 2jenkins部署 2.1下面内容介绍 2.2环境介绍 2.3jenkins安装 3插件安装 3.1手动下载jenkins插件 4Jenkins密钥配置 5jenkins触发式构建 6jenkins参数化构建 7jenkins定时构建 8Jenkins用户权限设置 8.1新创建一个用户 8.2用户权限设置 1.前言 1.1.jenkins介绍 jenkins是基于j

jenkins安装部署实战

Jenkins安装部署 1.首先下载Jenkins.war包,官网:https://jenkins.io/download/,这块用的比较老,为了和配管的版本一致. 2.部署好Jdk和Tomcat 3.去apache官网下载maven软件包,部署好maven 4.svn环境,可以参考之前的博客配置web访问svn仓库篇. jdk的安装,这是之前封装的jdk rpm包,可以参考之前博客封装rpm包. jdk的安装路径和环境变量: 1 2 3 4 5 [[email protected] ~]# c

ldap配置系列二:jenkins集成ldap

ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方文档: https://jenkins.io/doc/ jenkins安装 jenkins下载地址: https://jenkins.io/download/ # jdk1.8下载 [[email protected]_0_15_centos local]# wget http://download

linux服务器中Jenkins集成git、Gradle持续构建Springboot项目

Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动构建需要经过如下步骤:从git仓库下载代码.使用Gradle进行构建.使用SSH推送到另一台linux服务器.项目作为linux服务启动.本章将逐条仔细讲解. 一.获得一台linux服务器 要在linux下搞持续构建,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

目标: 创建包含性能测试流程的持续交付管道,以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段.因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到.此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送! 那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题? 是! 我们绝对可