Jenkins最新版下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
将下载的war包上传到linux服务器/Jenkins目录,没有这个目录就创建,本次运行环境为CentOS8.5
运行:
新建jenkinsRun.sh文件
#!/bin/bash
nohup /usr/java/jdk-21.0.2/bin/java -jar /Jenkins/jenkins.war --httpPort=8888 --prefix=/Jenkins > /Jenkins/jenkins.out 2>&1 &
tail -f /Jenkins/jenkins.out
写成脚本,方便后面启动、重启
第一次访问用启动日志文件中的密钥
登录后修改admin密码
发布项目前先配置jenkins服务器和应用服务器的免密登录:
#进入目录
cd /root/.ssh/
#生成密钥
ssh-keygen
私钥:id_rsa 公钥:id_rsa.pub
cat id_rsa
执行以下命令后就可以实现远程免密登录:
ssh-copy-id root@应用服务器ip
java maven项目发布脚本:
ssh root@172.16.8.66 'rm -f /jj-platform/run/ruoyi-admin.jar'
scp /root/.jenkins/workspace/jjplatform-springboot/ruoyi-admin/target/ruoyi-admin.jar root@172.16.8.66:/jj-platform/run/
ssh root@172.16.8.66 '/jj-platform/jjPlatformRun.sh'
也可以使用maven命令进行编译、打包、发布:
export PATH="/usr/local/nodeJs/nodejs18/bin:/opt/apache-maven-3.9.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_202//bin:/root/bin"
mvn compile -s /opt/apache-maven-3.9.1/conf/settings-wj.xml
mvn package -s /opt/apache-maven-3.9.1/conf/settings-wj.xml -Dmaven.test.skip=true -P prod
ssh root@172.16.8.67 'rm -f /wjWeb/run/sydwpx-interfaces-biz.jar'
scp /root/.jenkins/workspace/wj-springcloud-interfaces/sydwpx-interfaces-biz/target/sydwpx-interfaces-biz.jar root@172.16.8.67:/wjWeb/run
ssh root@172.16.8.67 '/wjWeb/script/interfaceRun.sh'
打包项目的子模块:
export PATH="/usr/local/nodeJs/nodejs18/bin:/usr/local/nodeJs/nodejs18/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/maven/bin:/root/bin:/usr/java/maven/bin:/usr/java/jdk1.8.0_202/bin"
#mvn compile -s /usr/java/maven/conf/settings-wj.xml
mvn package -pl sydwpx-upms/sydwpx-upms-biz -am -s /usr/java/maven/conf/settings-wj.xml
ssh root@10.2.23.180 'rm -f /web/run/sydwpx-upms-biz.jar'
scp /root/.jenkins/workspace/wj-springcloud-sydwpx/sydwpx-upms/sydwpx-upms-biz/target/sydwpx-upms-biz.jar root@10.2.23.180:/web/run
ssh root@10.2.23.180 '/root/upmsRun.sh'
查看linux系统环境变量path:
echo $PATH
vue3前面项目发布脚本:
export PATH="/usr/local/nodeJs/nodejs18/bin:/opt/apache-maven-3.9.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
npm install
npm run build:prod
ssh root@172.16.8.1 'rm -rf /jjplatformWeb/admin'
scp -r dist root@172.16.8.1:/jjplatformWeb/admin
备份后发布:
pnpm build
ssh root@172.16.8.1 '/wjweb/backup/backup.sh pc'
ssh root@172.16.8.1 'rm -rf /wjweb/pc'
scp -r dist root@172.16.8.1:/wjweb/pc
其中backup.sh文件内容为:
#!/bin/bash
rm -rf /wjweb/backup/recently/$1
cp -r /wjweb/$1 /wjweb/backup/recently/
currentTime=$(date +"%Y%m%d%H%M")
mkdir /wjweb/backup/$currentTime
cp -r /wjweb/$1 /wjweb/backup/$currentTime/
uniapp项目发布:
下载Hbuilderx linux 发布uniapp的插件:hbuilderx-linux-3.98.tar.gz
传到 linux 服务器下,解压到 /usr/local/ 目录下,解压后的目录为 /usr/local/hbuilderx-linux
node 版本必须为 v16,保证和 hbx 内置 node 版本一致。
uapp 版本 >= 2.3.5
uapp -v
可以查看当前使用版本
npm i -g uapp
# 初始化 uapp sdk
uapp sdk init
# 配置 hbx.dir
uapp config hbx.dir /usr/local/hbuilderx-linux
# 配置 node
uapp config node `which node`
发布:
uapp run build:mp-weixin --open
uapp run build:h5
jenkins中发布:
export PATH="/usr/local/nodeJs/nodejs16/bin:/opt/apache-maven-3.9.1/bin:/usr/local/nodeJs/nodejs18/bin:/opt/apache-maven-3.9.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
uapp run build:h5
ssh root@172.16.8.1 'rm -rf /wjweb/mobile'
scp -r unpackage/dist/build/h5 root@172.16.8.1:/wjweb/mobile