目的:实现把Git测试分支中的代码发布到Linux测试环境
1、安装Jenkins。
首先需要找一台服务器安装Jenkins,我用的是Linux。启动后直接用IP+端口号访问就可以看到启动动的Jenkisn.
Tips:关于Jenkins的配置,为了方便我是用Linux的root用户登录的,具体配请自行更改。
#安装java环境(Jenkins需要这个java环境) sudo yum install java java -version # 安装Git sudo yum install git git --version #安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins #修改jenkins 的配置信息 vi /etc/sysconfig/jenkins #修改配置 JENKINS_USER="root" JENKINS_PORT:"8080" #修改目录权限 [root@localhost sysconfig]# chown -R root:root /var/lib/jenkins [root@localhost sysconfig]# chown -R root:root /var/cache/jenkins [root@localhost sysconfig]# chown -R root:root /var/log/jenkins #启动Jenkins systemctl start jenkins
2、配置Jenkins
实现目的:当前的Jenkins 是安装在192.168.11.80上,需要Jenkins把Git 上拉取的代码发布到 192.168.0.138上。此时138上已经配置好了supervisorctl。也就是说Jenkisn和web服务器没在一个服务器上。
(1)Jenkins安装远程插件(Publish Over SSH) 系统管理->插件管理
(2)配置远程服务器链接(此处用的是密码用户用的rooot)系统管理->系统配置
3、新建一个Jenkins任务(或复制一个已有的任务)
(1)配置Git
构建就可以了
如你的web服务器是用Docker发布的,Jenkins的执行Shell,你可以参考一下
echo "获取当前容器是否存在-----------------------------------------------------------------" containerps=$(docker ps -f name=resapi -q) containerstop=$(docker ps -a -f name=resapi -q) for alpha in "$containerps";do if [ "$alpha" == "" ];then echo "检查是否存在停止的容器-------------------------------------------------" for alpha1 in "$containerstop";do if [ "$alpha1" == "" ];then echo "不存指定容器-----------------------------------" else echo "存在停止了的 然后直接删除-----------开始------------------" docker rm $alpha1 echo "存在停止了的 然后直接删除-----------完成------------------" fi done else echo "存在-停止运行 然后删除----------------------开始-----------------" docker stop $alpha docker rm $alpha echo "存在-停止运行 然后删除---------------------完成------------------" fi done echo "获取当前镜像是否存在-----------------------------------------------------------------" dockerlist=$(docker images resapiimage:latest -q) for alpha2 in "$dockerlist";do if [ "$alpha2" == "" ];then echo "不存在指定镜像-------------------------------------------------" else echo "存在当前指定的镜像 删除镜像--------------开始-----------------------------------" docker rmi $alpha2 echo "存在当前指定的镜像 删除镜像--------------完成-----------------------------------" fi done echo "开始输入工作目录-----------------------------------------------------------------" echo $WORKSPACE echo "转到项目工程目录-----------------------------------------------------------------" cd $WORKSPACE/AoJi.Res/ echo "重新生成------------------------------------开始-----------------------------" dotnet build echo "重新生成------------------------------------完成-----------------------------" echo "项目发布-------------------------------------开始----------------------------" dotnet publish --output /data/www/resapi.aojiedu.com/ echo "项目发布-------------------------------------完成----------------------------" echo "转到项目发布目录-----------------------------------------------------------------" cd /data/www/resapi.aojiedu.com/ echo "构建Docker镜像-------------------------------开始----------------------------------" echo pwd docker build -t resapiimage . echo "构建Docker镜像-------------------------------完成----------------------------------" echo "运行Docker容器-------------------------------------开始----------------------------" docker run --name=resapi -p 5001:5001 -d resapiimage echo "运行Docker容器------------------------------------完成-----------------------------"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
问题内容: 我们正在尝试与Jenkins部署战争文件,但似乎什么也没有发生。 该项目已成功构建,并且我们正在使用Jenkins deploy插件。它配置有以下选项: 发布步骤设置为“无论构建结果如何运行”。 我已经检查了凭据是否正确,因为我可以访问浏览器中的管理员页面。 这是詹金斯(Maven)输出的最后一部分: 我还可以将WAR / EAR文件更改为不存在的文件,并且不会给我错误,这很奇怪。我在
本文向大家介绍jenkins+maven+svn自动部署和发布的详细图文教程,包括了jenkins+maven+svn自动部署和发布的详细图文教程的使用技巧和注意事项,需要的朋友参考一下 Jenkins Jenkins是一个开源的、可扩展的持续集成、交付、部署的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。 通常我们使用Jenkins主要实
提示:找不到进程或命名空间日志 我的命令是:
本文向大家介绍详解jenkins自动部署springboot应用的方法,包括了详解jenkins自动部署springboot应用的方法的使用技巧和注意事项,需要的朋友参考一下 最近公司在利用jenkins自动部署springboot应用,以前别人配的那个jenkins虽说可以正常部署,但是多次反复部署之后jenkins会报错,提示内存不足: Maven JVM terminated unexpec
我们正试图通过Jenkins将生成的war文件自动部署到web服务器。在tomcat服务器上使用Deploy plugin,我可以为普通war文件实现同样的功能。 对于Liferay portlet war文件,我不能使用我们将war文件放入Liferay中的deploy文件夹,然后将其复制到tomcat webapps文件夹的插件。 我看到的另一种方法是在pom.xml
错误:Publisher hudson.plugins.deploy.deploypublisher因异常org.codehaus.cargo.container.containerException:在org.codehaus.cargo.container.internal.abstractTomCatManagerDeployer.redeploy[/home/affiza/workspac