Jenkins + 云效 前后端项目自动化部署
环境安装
创建目录
后续下载的内容 放在里边方便管理
cd /mkdir dockercd dockermkdir maven mkdir jenkinsmkdir javamkdir registry
宝塔
不在赘述 前往官网有安装命令 宝塔下载页面
docker
安装docker后 打开安装docker
修改docker 配置 可远程访问
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock # ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// -- containerd=/run/containerd/containerd.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always
重载配置重启
systemctl daemon-reload && systemctl restart docker
maven
前往maven下载页面
选择版本下载 如:apache-maven-3.8.6-bin.tar.gz
上传至服务器/docker/maven目录下 解压
tar –xvf apache-maven-3.8.6-bin.tar.gz
创建仓库保存目录
mkdir repository
修改maven settings.xml 文件
cd /docker/maven/apache-maven-3.8.6/conf vim settings.xml
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>
<localRepository>/docker/maven/repository/repo</localRepository>
阿里云镜像
配置本地仓库
java
前往官网下载JDK oracle官方下载地址 (你发任你发 我用JAVA8)
选择版本下载 如:jdk-8u351-linux-aarch64.tar.gz
上传至服务器/docker/java目录下 解压
tar –xvf jdk-8u351-linux-aarch64.tar.gz
本地仓库
下载镜像
docker search registry
下载官方的docker pull registry
启动容器
docker run -d -v /docker/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:latest
访问http://ip:5000/v2/_catalog 看到 {“repositories”:[]} 表示成功
修改/etc/docker/daemon.json 第二行 没有的话可以不加 可以去docker镜像服务申请 详见docker镜像私服
{"insecure-registries":["192.168.0.107:5000"],"registry-mirrors": ["**********"] }
重启docker
systemctl restart docker
jenkins
拉取jenkins 镜像
docker search jenkins
挂载容器卷启动容器
docker run -d -p 18080:8080 -p 50000:50000 --privileged=true -u root -v /docker/jenkins:/var/jenkins_home -v /docker/maven/apache-maven-3.8.6:/usr/local/apache-maven -v /docker/java/jdk1.8.0_341:/usr/local/java/jdk1.8 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /www/wwwroot:/www/wwwroot -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name jenkins jenkins
这两个解决jenkins shell docker命令找不到问题
-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker
这个为前端项目部署创建 挂载目录
-v /www/wwwroot:/www/wwwroot
解决离线问题
cd /docker/jenkins vim hudson.model.UpdateCenter.xml
改为清华镜像
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json</url></site> </sites>
解决插件安装慢问题
替换 default.json内的内容cd /docker/jenkins/updates sed -i 's/www.google.com/www.baidu.com/g' default.json sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json #重启 Jenkins docker restart jenkins的容器id
登录 开始安装依赖
原始密码在initialAdminPassword文件内cd /docker/jenkins/secrets cat initialAdminPassword
jenkins配置
全局工具配置
maven
jdk
系统配置
环境变量
配置自动化发布
安装插件 Maven Integration plugin
安装插件 Generic Webhook Trigger
安装插件 NodeJS
解决node无法下载
cd /docker/jenkins/updates
touch hudson.plugins.nodejs.tools.NodeJSInstaller
vim hudson.plugins.nodejs.tools.NodeJSInstaller
{"list":[{"id":"12.16.3","name":"NodeJS 12.16.3","url":"https://nodejs.org/dist/v12.16.3/"},{"id":"9.9.0","name":"NodeJS 9.9.0","url":"https://nodejs.org/dist/v9.9.0/"},{"id":"9.8.0","name":"NodeJS 9.8.0","url":"https://nodejs.org/dist/v9.8.0/"},{"id":"9.7.1","name":"NodeJS 9.7.1","url":"https://nodejs.org/dist/v9.7.1/"}]
}
全局工具配置 NodeJS
后端Maven项目构建单模块
创建maven项目
配置git地址以及账号
构建配置 生成镜像(若直接执行镜像 可在配置执行shell)
pom.xml配置
<build><finalName>app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- docker的maven插件,官网: https://github.com/spotify/docker‐maven‐plugin--><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.0</version><configuration><imageName>192.168.0.107:5000/${project.artifactId}:${project.version}</imageName><baseImage>jdk1.8</baseImage><entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><dockerHost>http://192.168.0.107:2375</dockerHost></configuration></plugin></plugins> </build>
后端Maven项目构建多模块
创建maven项目
配置git地址以及账号
构建配置 生成镜像
构建成功后执行shell
echo "在指定docker目录创建Dockerfile文件用于生成docker容器" cd yshop-app/target cat>Dockerfile<<EOF FROM jdk1.8 ADD /app.jar // ENTRYPOINT ["java", "-jar", "/app.jar"] # ENTRYPOINT ["java", "-jar", "/admin.jar",">> ","/var/logs/log.log","&"] EOFecho "清理已有容器及镜像资源" container="yshop-app" image=${container}if docker ps | grep ${container} ;thendocker stop ${container} fiif docker ps -a | grep ${container};thendocker rm ${container} fiif docker images | grep ${image};thendocker rmi ${image} fiecho "镜像制作" docker build -t ${image} . echo "容器运行" docker run -d --restart=always --name ${container} -v /usr/local/project/tidePlayMall/app/logs:/var/logs -p 8008:8008 ${image} -Duser.timezone=GMT+8 # docker run -d --restart=always --name ${container} -v /usr/local/project/tidePlayMall/admin/avatar:/usr/local/project/tidePlayMall/admin/avatar -v /usr/local/project/tidePlayMall/admin/file:/usr/local/project/tidePlayMall/admin/file -v /usr/local/project/tidePlayMall/admin/logs:/var/logs -p 8001:8001 ${image} -Duser.timezone=GMT+8
配置 Webhook
变量
token(自定义)
云效
http://JENKINS_URL/generic-webhook-trigger/invoke?token=**********
内网服务器 可以做个内网穿透
前端vue项目部署
宝塔创建站点
配置构建环境
执行sell
node -v npm install rm -rf ./dist/* #移除工作区dist文件 npm run-script build #打包项目 rm -rf /www/wwwroot/192.168.0.107/dist/* #删除/www/wwwroot/192.168.0.107/dist上一次构建文件 cp -rf ./dist/* /www/wwwroot/192.168.0.107/dist #将打包后的dist文件拷贝 到/www/wwwroot/192.168.0.107/dist ,/www/wwwroot/192.168.0.107/dist为nginx文件目录
其他的git地址配置 Webhook 都一样
Jenkins + 云效 前后端项目自动化部署相关推荐
- Windos 前后端项目的部署
目录 1. 文件上传操作 1.1 编辑FileService 1.2 文件上传代码测试 2. 文件删除操作 2.1 业务接口说明 2.2 编辑FileController 2.3 编辑FileServ ...
- 前后端项目手动部署至服务器
1. 在服务器上配置环境 需要安装JDK.Mysql.Nginx 可以手动安装以上环境,也可以先安装docker后再拉镜像安装以上环境 2.安装完mysql后,在navicat中连接远程数据库 若连接 ...
- Springboot+vue前后端项目的部署和搭建
项目导入 为了方便,我直接在桌面上通过git bash克隆项目: git clone https://github.com/wuyouzhuguli/FEBS-Vue.git 克隆后,桌面上多出一个F ...
- 若依框架前后端项目分离部署(验证码不显示原因解决步骤)
标题若依框架项目部署分为前端项目部署和后端项目部署. 一.后端项目部署(比较省略) 1.jar部署方式 将jar包放到文件的service目录下,使用命令行执行执行脚本. 2.war部署方式 ruoy ...
- 阿里云ECS服务器前后端项目部署
最近自己写了一个小项目,想把它部署在服务器上以便实时查看,在此记录一下自己的部署过程以及在部署过程中遇到的问题,方便日后查看. 参考:www.kovli.com/2017/09/19/- 作者:Kov ...
- (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)
前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...
- (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)
前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...
- docker 一键部署前后端项目 ruoyi
使用 docker 一键部署前后端项目 这里我以开源项目ruoyi 的 vue 前后端为例,想要通过 docker 一键跑起来,需要对项目做部分调整. 修改 springboot yml 的配置 ap ...
- RDC如何构建一个基于NodeJS的前后端项目
摘要: 最近在将公司的持续集成架构做一个系统的调整,调整过程中受到了RDC团队大量的帮助,所以利用国庆时间写了几篇RDC的分享,希望能让更多的人了解和用好RDC这个产品. 我会把我最近3个月的使用体会 ...
最新文章
- 20181110-软件开发架构2
- 《算法图解》第四章笔记与课后练习_快速排序算法
- 方法中的参数的五种形式
- 用python写名字代码_用python编写一个批量修改文件名的小程序
- vijos 1067 Warcraft III 守望者的烦恼 矩阵
- android WebView通过js方法与原生交互
- html lt p gt 标签的属性,科技常识:html中amp;lt;tableamp;gt;标签的各种属性介绍_table的使用...
- 黄聪:Wordpress程序Mysql查询导致CPU100%,页面错误增量飙高解决方案
- 计算机中是如何存储图片的,电脑如何保存图片
- 【visio 绘图矢量图素材网站】
- 莫烦强化学习-Q Learning
- MySQL 数据库规范
- 史上最简SLAM零基础解读(4) - 单应性Homography →公式推导与细节理解
- 用计算机绘制二项分布概率图,二项分布和泊松分布实验.doc
- eclipse配置--代码提示、xml提示
- 鸢尾花lris数据集的SVM线性分类
- 读书笔记 摘自:《为什么精英都是时间控》
- centos oracle libaio哪下载,在CentOS4.5上安装Oracle10g出现的libaio-0.3.96; found Not found问题求救...
- 程序人生 - 为了避免惹上官司,你可以在这些免版权图片网站里寻找素材
- 侯捷先生的Design Patterns高级课程
热门文章
- linux驱动-platform详解
- java语言保留结构和联合_Java 语言中取消了联合概念,保留了结构概念。( )_学小易找答案...
- 逻辑与,逻辑或||和逻辑非!的区别
- iOS 花式二维码生成和二维码识别
- 数学基础知识之Sin、cos画圆
- js的数据类型和强制类型转换
- SQL常用的一些关键字
- 计算机配置 凭据分配,如何在Windows 10中分配默认凭据提供程序 | MOS86
- 服务器ssh升级导致的java程序ssh连接失败
- windows debug tools