<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E5%92%8C%E9%83%A8%E7%BD%B2%E4%BE%8B%E5%AD%90</id>
	<title>Jenkins自动化构建和部署例子 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E5%92%8C%E9%83%A8%E7%BD%B2%E4%BE%8B%E5%AD%90"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E5%92%8C%E9%83%A8%E7%BD%B2%E4%BE%8B%E5%AD%90&amp;action=history"/>
	<updated>2026-04-19T08:58:55Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E5%92%8C%E9%83%A8%E7%BD%B2%E4%BE%8B%E5%AD%90&amp;diff=511&amp;oldid=prev</id>
		<title>Evan：​/* Java spring boot */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9E%84%E5%BB%BA%E5%92%8C%E9%83%A8%E7%BD%B2%E4%BE%8B%E5%AD%90&amp;diff=511&amp;oldid=prev"/>
		<updated>2021-12-07T08:12:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Java spring boot&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
 APP 打包，静态代码检查，Sonar 平台搭建和维护等工作&lt;br /&gt;
&lt;br /&gt;
=站内源码 =&lt;br /&gt;
[[代码发布]]&lt;br /&gt;
&lt;br /&gt;
=jenkins 使用Maven构建Java应用程序=&lt;br /&gt;
[https://www.jenkins.io/zh/doc/tutorials/build-a-java-app-with-maven/  使用Maven构建Java应用程序 ]&lt;br /&gt;
&lt;br /&gt;
=java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署=&lt;br /&gt;
[https://juejin.cn/post/6955025879688806430#heading-66 java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署（超详细） ]&lt;br /&gt;
&lt;br /&gt;
=download.app=&lt;br /&gt;
&lt;br /&gt;
 jenkins project name  prod-tg-websi&lt;br /&gt;
&lt;br /&gt;
=* conf project =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
新建 自由风格的软件项目 -&amp;gt;   &lt;br /&gt;
geneal 丢弃旧的构建 &lt;br /&gt;
源码管理 用git   http的话就直接用上你的gitlabt用户和密码 &lt;br /&gt;
构建  这里填写上你的 over SSH  服务器 一般在  系统管理--系统设置里面配置并起别名 &lt;br /&gt;
 一般hostname 填写IP username    Remote Directory /    其它的看着办&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
构建 要填写的 &lt;br /&gt;
&lt;br /&gt;
Source files  **&lt;br /&gt;
Remove prefix  不填写&lt;br /&gt;
Remote directory  你远程服务器的web目录&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=* 配置权限=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#这样还视图自动归类功能 不错不错  记住前面不要有空格&lt;br /&gt;
Manage and Assign Roles --&amp;gt;  Manage Roles --&amp;gt;    在他有的项目组里面 Frontend_h5    添加   prod-tg-websit| --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Manage and Assign Roles --&amp;gt; Assign Roles &lt;br /&gt;
 &lt;br /&gt;
Item roles --&amp;gt;User/group to add  填写项目名  prod-tg-website&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=前端 nodejs jenkins之自动打包构建nodejs应用=&lt;br /&gt;
&lt;br /&gt;
docker化 php  sping boot  node.js 全部可以参考这个 &lt;br /&gt;
[https://segmentfault.com/a/1190000022277946?utm_source=sf-similar-article jenkins+docker部署nodejs程序]&lt;br /&gt;
==dockerfile==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
构建镜像需要有dockerfile，这个dockerfile其实就是docker在构建时，根据这个文件的内容，打包镜像，看一下我那个项目的dockerfile可以对照参考，很简单&lt;br /&gt;
&lt;br /&gt;
# 基于某个镜像，来构建新的镜像，我们是nodejs项目，选择一个带有nodejs环境的镜像&lt;br /&gt;
FROM node:13.5.0-buster-slim&lt;br /&gt;
# 打一个标签，&lt;br /&gt;
LABEL zhangchao [邮箱名]&lt;br /&gt;
# 设置环境变量，nodejs代码中可以取到这个环境变量，如果没有可不写&lt;br /&gt;
ENV NODE_ENV=production&lt;br /&gt;
# 创建一个代码目录&lt;br /&gt;
RUN mkdir -p /usr/src/webapp&lt;br /&gt;
# 将代码拷贝到这个目录中&lt;br /&gt;
COPY . /usr/src/webapp&lt;br /&gt;
# 设置工作目录&lt;br /&gt;
WORKDIR /usr/src/webapp&lt;br /&gt;
# 安装nodejs项目依赖&lt;br /&gt;
RUN /bin/sh -c &amp;#039;cd /usr/src/webapp/ &amp;amp;&amp;amp; \                &lt;br /&gt;
                           npm install --unsafe-perm&amp;#039;&lt;br /&gt;
# 对外暴露3000端口&lt;br /&gt;
EXPOSE 3000&lt;br /&gt;
# 启动nodejs服务&lt;br /&gt;
CMD node server.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==接着就是配置构建了，选择执行shell==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
接着就是配置构建了，选择执行shell&lt;br /&gt;
&lt;br /&gt;
# 进入项目目录&lt;br /&gt;
cd  /var/jenkins_home/workspace/[填入你的git仓库名]&lt;br /&gt;
# tag名称&lt;br /&gt;
tagName=$Tag&lt;br /&gt;
# docker仓库，可以在阿里云镜像仓库，申请自己的镜像仓库&lt;br /&gt;
REPOSITORY=[镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName&lt;br /&gt;
# 构建镜像，注意后面有个. 代表使用当前目下下的dockerfile，后面会说dockerfile怎么写&lt;br /&gt;
docker build -t $REPOSITORY .&lt;br /&gt;
# 如果是私有的镜像仓库，例如我的阿里云镜像仓库，需要登录后才能push，如果公有的不需要这步&lt;br /&gt;
docker login -u [用户名] -p [密码] [镜像仓库域名]&lt;br /&gt;
# 将构建好的镜像，推送到远程的镜像仓库&lt;br /&gt;
docker push $REPOSITORY&lt;br /&gt;
# 删除本地构建的镜像&lt;br /&gt;
docker rmi -f $REPOSITORY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==SSH Site，填入远程执行的脚本==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SSH Site，填入远程执行的脚本&lt;br /&gt;
&lt;br /&gt;
# 设置tagName&lt;br /&gt;
tagName=$Tag&lt;br /&gt;
# 登录私有仓库，如果是公有仓库，这步不用写&lt;br /&gt;
docker login -u [用户名] -p [密码] [镜像仓库域名]&lt;br /&gt;
# 拉取远程镜像 pull后面跟的是仓库名称：tag名称&lt;br /&gt;
docker pull [镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName&lt;br /&gt;
# 根据容器名称查找容器id&lt;br /&gt;
containerId=`docker ps -a | grep [上一版启动的容器名称] | awk &amp;#039;{print $1}&amp;#039; `&lt;br /&gt;
# 根据容器名称查找镜像名称&lt;br /&gt;
imageName=`docker ps -a | grep [上一版启动的容器名称] | awk &amp;#039;{print $2}&amp;#039; `&lt;br /&gt;
# 如果容器id存在就停止掉旧容器运行,并删除掉旧的容器和镜像&lt;br /&gt;
if [ -n &amp;quot;$containerId&amp;quot; ]; then  &lt;br /&gt;
  docker stop $containerId &lt;br /&gt;
  docker rm $containerId  &lt;br /&gt;
  docker rmi -f $imageName&lt;br /&gt;
fi&lt;br /&gt;
# 运行新的镜像，最后面其实是仓库名称：tag名&lt;br /&gt;
docker run -d --name [容器名称] -p 3000:3000 [镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName&lt;br /&gt;
&lt;br /&gt;
点击保存，我们的构建过程就配置好了，可以点击build with params，选择git仓库的tag进行构建了，有任何疑问可以在评论中提出来，看到后我会回复，希望你们能一次成功。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/vipzhou/p/7890016.html  jenkins学习之自动打包构建nodejs应用 ]&lt;br /&gt;
&lt;br /&gt;
[https://www.huaweicloud.com/articles/4e4228c181b8e610999badfa00ff7e4e.html Jenkins打包NodeJS项目---入门篇]&lt;br /&gt;
&lt;br /&gt;
[https://my.oschina.net/mobinchao/blog/871703 Jenkins打包NodeJS项目---入门篇]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/weixin_43931358/article/details/103013031 jenkins系列之使用yarn构建前端项目]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.51cto.com/wzlinux/2491394 docker 中运行的 jenkins 使用 npm 构建 Node.js 应用]&lt;br /&gt;
&lt;br /&gt;
[https://juejin.cn/post/6971630514742493197  jenkins+docker+gogs前端自动化部署 ]&lt;br /&gt;
&lt;br /&gt;
=后端=&lt;br /&gt;
==php jenkins==&lt;br /&gt;
[[Jenkins实现PHP持续集成部署]]&lt;br /&gt;
&lt;br /&gt;
 [[category:ops]] [[category:devops]]&lt;br /&gt;
&lt;br /&gt;
== Java spring boot==&lt;br /&gt;
[https://zhuanlan.zhihu.com/p/354677279 SpringBoot项目打包+shell脚本部署实践]&lt;br /&gt;
&lt;br /&gt;
[https://zhuanlan.zhihu.com/p/382228218 Docker+Jenkins+GitLab+Maven+SpringBoot/SpringCloud实现自动化构建部署实战]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.tencent.com/developer/article/1727325 使用 GitLab CI 和 Docker 自动部署 Spring Boot 应用]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/hzj_java/article/details/108006489  Jenkins一键打包部署Spring Boot 应用的Docker镜像]&lt;br /&gt;
&lt;br /&gt;
== golang==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 安装 composer 组件&lt;br /&gt;
cd $WORKSPACE/www/im.com/src&lt;br /&gt;
&lt;br /&gt;
export GO111MODULE=on&lt;br /&gt;
export GOPROXY=https://goproxy.cn&lt;br /&gt;
&lt;br /&gt;
# 打包&lt;br /&gt;
/bin/bash build.sh linux&lt;br /&gt;
&lt;br /&gt;
rsync -avzP --port=873 --password-file=/assword --exclude-from=/backup/upline/exclude $WORKSPACE/www/im.com/deploy  rsync@192.168.10.121::im-proxy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Java tomcat==&lt;br /&gt;
&lt;br /&gt;
和xk的一样喽&lt;br /&gt;
[https://blog.51cto.com/u_13760351/2382103  Jenkins自动部署发布Java代码（完整教程]&lt;br /&gt;
&lt;br /&gt;
== Docker+Jenkins+Gitlab+Django应用部署实践  ==&lt;br /&gt;
[https://juejin.cn/post/6844903758384594958  Docker+Jenkins+Gitlab+Django应用部署实践 ]&lt;br /&gt;
=docker =&lt;br /&gt;
[https://segmentfault.com/a/1190000007837054 Jenkins集成Docker镜像实现自动发布]&lt;br /&gt;
&lt;br /&gt;
==.net==&lt;br /&gt;
[https://www.cnblogs.com/liyouming/p/9989160.html  .NetCore下利用Jenkins如何将程序自动打包发布到Docker容器中运行 ]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>