Jenkins
rmdir /q /s C:\Program" "Files\nginx-1.23.2\html\dist
xcopy /y /e /i C:\Users\Administrator\Documents\source\XiaoDaERP-Vben\dist C:\Program" "Files\nginx-1.23.2\html\dist
pscp -r -l root -pw Wyd210213 C:\Users\Administrator\Documents\source\XiaoDaERP-Vben\dist 8.140.174.251:/usr/local/nginx/html
|
docker run -d -p 80:80 -p 443:443 --name nginxweb --privileged=true -v /usr/local/nginx/html/:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/logs:/var/log/nginx nginx
ps aux | grep "nginx: worker process" | awk '{print $1}'
|
部署.Net Core 至 IIS
新建Item

配置Git

添加Git账户

指定Jenkins从Git拉取代码目录


指定Jenkins定时获取Git
时间设置成:H/2 * * * *
意思是每2分钟检查Git是否有变化,如果有变化就会重新构建和部署

构建步骤
因为Jenkins在Windows环境下所以使用 Execute Windows batch command

命令:
c: // 切换到Git拉取代码目录 cd C:\Users\Administrator\Documents\source\XiaodaERP // 构建.Net Core应用 dotnet build // 停止应用程序池 saas C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:saas // 发布.Net Core应用 需指定发布文件目录 dotnet publish -o D:\subendong\release\saas // 启动应用程序池 saas C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:saas
|
IIS服务器应用程序池必须为无代码托管
为防止生产环境Swagger无法使用,需在构建后的文件夹中编辑web.conf文件

添加如下代码
<environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables>
|

在模块中删除WebDAVModule
Jenkins安装NodeJS环境
在Jenkins 系统管理中 插件管理 可用插件中安装NodeJS Plugin
并在系统管理中 全局工具配置中配置NodeJS

部署.Net Core 至 Docker容器
Windows Server 部署Vue
本地Nginx
yarn yarn build # 删除文件夹 rmdir /q /s C:\Program" "Files\nginx-1.23.2\html\dist # 复制文件夹到指定目录 xcopy /y /e /i C:\Users\Administrator\Documents\source\XiaoDaERP-Vben\dist C:\Program" "Files\nginx-1.23.2\html\dist
|
Linux远程服务器
# 发送文件(文件夹)到Linux远程服务器上 pscp -r -l root -pw Wyd210213 C:\Users\Administrator\Documents\source\XiaoDaERP-Vben\dist 8.140.174.251:/usr/local/nginx/html
|
Jenkins部署Hexo博客
配置NodeJS环境

构建步骤
npm install hexo-cli -g yarn hexo clean hexo g --debug docker stop xiaodablog docker rm xiaodablog docker images docker image rm xiaodablog docker build -t xiaodablog:latest . docker image rm -f $(docker images | grep "none" | awk '{print $3}') docker images docker run --name xiaodablog -p 80:80 -p 443:443 -d --privileged=true -v /usr/local/nginx/logs/xiaodablog:/var/log/nginx xiaodablog:latest
|
需要注意的是刚clone下来的项目,需要现在本地构建docker镜像并启动容器
否则会报错
Jenkins部署Vue VbenAdmin
增加参数化构建过程

配置NodeJS环境

构建过程
pwd npm config get registry npm config set registry http://registry.npm.taobao.org/ npm install -g yarn yarn yarn build echo "npm finish" echo $version docker build -t xiaodaerp/vbenvue:$version . docker stop xiaodaerpvbenvue docker rmi -f $(docker images | grep "none" | awk '{print $3}') docker images docker rm xiaodaerpvbenvue docker run --name xiaodaerpvbenvue -p 81:80 -p 444:443 -d --privileged=true -v /usr/local/nginx/logs/xiaodaerpvbenvue:/var/log/nginx xiaodaerp/vbenvue:$version
|
需要注意的是刚clone下来的项目,需要现在本地构建docker镜像并启动容器
否则会报错
Jenkins配置用户权限
系统管理 -> 插件管理 安装Matrix Authorization Strategy Plugin
插件

授权策略选择项目矩阵授权策略
分配以下权限

Jenkins部署dotNet 6项目到远程Linux服务器上
系统管理 -> 插件管理 安装Publish Over SSH
插件
安装好后 在 系统管理 -> 系统配置中设置SSH Servers

并点击高级

设置密码
构建步骤

因为是上传文件夹至远程服务器指定目录,如果文件夹中内容发生变化,比如文件名,文件夹需要进行删除操作,所以在发送文件前需要先执行远程Shell命令

Exec command
cd /root/download pwd rm -rf XiaodaERP/
|
再进行上传文件夹部署操作

Source files
Remote directory
Exec command
cd /root/download pwd docker stop xiaodaerpnetcore docker rm xiaodaerpnetcore docker image rm xiaodaerp/netcore docker images docker image build -f ./XiaodaERP/Dockerfile -t xiaodaerp/netcore . docker rmi -f $(docker images | grep "none" | awk '{print $3}') docker images docker run --name xiaodaerpnetcore -p 7274:80 -d xiaodaerp/netcore
|