“Jenkins自动化构建和部署例子”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
第40行: 第40行:
 
=前端 nodejs jenkins之自动打包构建nodejs应用=
 
=前端 nodejs jenkins之自动打包构建nodejs应用=
  
 
+
docker化 php  sping boot  node.js 全部可以参考这个
 
[https://segmentfault.com/a/1190000022277946?utm_source=sf-similar-article jenkins+docker部署nodejs程序]
 
[https://segmentfault.com/a/1190000022277946?utm_source=sf-similar-article jenkins+docker部署nodejs程序]
 
==dockerfile==
 
==dockerfile==

2021年7月5日 (一) 12:59的版本

站内源码

代码发布

jenkins 使用Maven构建Java应用程序

使用Maven构建Java应用程序

java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署

java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署(超详细)

download.app

jenkins project name  prod-tg-websi

* conf project

新建 自由风格的软件项目 ->   
geneal 丢弃旧的构建 
源码管理 用git   http的话就直接用上你的gitlabt用户和密码 
构建  这里填写上你的 over SSH  服务器 一般在  系统管理--系统设置里面配置并起别名 
 一般hostname 填写IP username    Remote Directory /    其它的看着办


构建 要填写的 

Source files  **
Remove prefix  不填写
Remote directory  你远程服务器的web目录

* 配置权限

#这样还视图自动归类功能 不错不错  记住前面不要有空格
Manage and Assign Roles -->  Manage Roles -->    在他有的项目组里面 Frontend_h5    添加   prod-tg-websit| -->


 Manage and Assign Roles --> Assign Roles 
 
Item roles -->User/group to add  填写项目名  prod-tg-website

前端 nodejs jenkins之自动打包构建nodejs应用

docker化 php sping boot node.js 全部可以参考这个 jenkins+docker部署nodejs程序

dockerfile

构建镜像需要有dockerfile,这个dockerfile其实就是docker在构建时,根据这个文件的内容,打包镜像,看一下我那个项目的dockerfile可以对照参考,很简单

# 基于某个镜像,来构建新的镜像,我们是nodejs项目,选择一个带有nodejs环境的镜像
FROM node:13.5.0-buster-slim
# 打一个标签,
LABEL zhangchao [邮箱名]
# 设置环境变量,nodejs代码中可以取到这个环境变量,如果没有可不写
ENV NODE_ENV=production
# 创建一个代码目录
RUN mkdir -p /usr/src/webapp
# 将代码拷贝到这个目录中
COPY . /usr/src/webapp
# 设置工作目录
WORKDIR /usr/src/webapp
# 安装nodejs项目依赖
RUN /bin/sh -c 'cd /usr/src/webapp/ && \                
                           npm install --unsafe-perm'
# 对外暴露3000端口
EXPOSE 3000
# 启动nodejs服务
CMD node server.js

接着就是配置构建了,选择执行shell

接着就是配置构建了,选择执行shell

# 进入项目目录
cd  /var/jenkins_home/workspace/[填入你的git仓库名]
# tag名称
tagName=$Tag
# docker仓库,可以在阿里云镜像仓库,申请自己的镜像仓库
REPOSITORY=[镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName
# 构建镜像,注意后面有个. 代表使用当前目下下的dockerfile,后面会说dockerfile怎么写
docker build -t $REPOSITORY .
# 如果是私有的镜像仓库,例如我的阿里云镜像仓库,需要登录后才能push,如果公有的不需要这步
docker login -u [用户名] -p [密码] [镜像仓库域名]
# 将构建好的镜像,推送到远程的镜像仓库
docker push $REPOSITORY
# 删除本地构建的镜像
docker rmi -f $REPOSITORY

SSH Site,填入远程执行的脚本

SSH Site,填入远程执行的脚本

# 设置tagName
tagName=$Tag
# 登录私有仓库,如果是公有仓库,这步不用写
docker login -u [用户名] -p [密码] [镜像仓库域名]
# 拉取远程镜像 pull后面跟的是仓库名称:tag名称
docker pull [镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName
# 根据容器名称查找容器id
containerId=`docker ps -a | grep [上一版启动的容器名称] | awk '{print $1}' `
# 根据容器名称查找镜像名称
imageName=`docker ps -a | grep [上一版启动的容器名称] | awk '{print $2}' `
# 如果容器id存在就停止掉旧容器运行,并删除掉旧的容器和镜像
if [ -n "$containerId" ]; then  
  docker stop $containerId 
  docker rm $containerId  
  docker rmi -f $imageName
fi
# 运行新的镜像,最后面其实是仓库名称:tag名
docker run -d --name [容器名称] -p 3000:3000 [镜像仓库的域名]/[镜像仓库的命名空间]/[镜像仓库的名称]:jenkins-$tagName

点击保存,我们的构建过程就配置好了,可以点击build with params,选择git仓库的tag进行构建了,有任何疑问可以在评论中提出来,看到后我会回复,希望你们能一次成功。

jenkins学习之自动打包构建nodejs应用

Jenkins打包NodeJS项目---入门篇

Jenkins打包NodeJS项目---入门篇

jenkins系列之使用yarn构建前端项目


docker 中运行的 jenkins 使用 npm 构建 Node.js 应用

jenkins+docker+gogs前端自动化部署

后端

php jenkins

Jenkins实现PHP持续集成部署

Java spring boot

SpringBoot项目打包+shell脚本部署实践

使用 GitLab CI 和 Docker 自动部署 Spring Boot 应用

Jenkins一键打包部署Spring Boot 应用的Docker镜像

Java tomcat

和xk的一样喽 Jenkins自动部署发布Java代码(完整教程

Docker+Jenkins+Gitlab+Django应用部署实践

Docker+Jenkins+Gitlab+Django应用部署实践

docker

Jenkins集成Docker镜像实现自动发布

.net

.NetCore下利用Jenkins如何将程序自动打包发布到Docker容器中运行