一、后端项目发布
1.选择流水线
2.新建流水线
3.选择模板
4.选择代码仓库
5.调整构建命令
添加mvn install
重新构建项目
6.添加镜像
在wms-app目录下新建Dockerfile文件(Dockerfile文件名中的D一定要是大写的)文件,重新推送项目
#基础镜像
FROM openjdk:8
#设置工作目录
WORKDIR /opt
#拷贝jar包到工作目录
ADD target/wms-app-1.0-SNAPSHOT.jar app.jar
RUN ls
#设置暴漏的端口
EXPOSE 8080
#启动jar包
ENTRYPOINT ["java","-jar","app.jar"]
在构建时点击添加步骤,选择服务连接,地区等
添加服务连接
选择仓库,填写Dockerfile路径
点击添加的流水线源添加服务连接,新建授权,可以在这里开启代码源触发,每次提交完代码,流水线会自动更新
运行成功效果截图
可以看到容器镜像仓库中镜像版本更新
二、发布前端项目
1、新建流水线
2、添加流水线源
3、构建项目
4、新建dockefile
FROM nginx
COPY dist /usr/share/nginx/html
RUN rm -f /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/default.conf
5、 新建default.conf
upstream wms-app {
server 192.168.14.3:3666 ;
}
server {
listen 80;
listen [::]:80;
server_name localhost;
access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html; #解决单页面找不到路径问题 404
}
location /api/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization'; #跨域设置
proxy_pass http://wms-app ; #可以配置多个下游服务,具有负载功能
#proxy_pass http://192.168.14.3:3666; #仅配置一个下游服务,不具有负载均衡能力
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
6、提交更新代码仓库
7、构建镜像
8、单元测试比较耗费时间,我们可以暂时先删除单元测试并运行
扩展
父子项目打包发布至私仓库
1、方法一
在不需要发布至私仓的模块上添加如下代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
双击
方法二 通过命令
忽略递归子模块,只发布父项目
mvn clean package deploy -N
其中 scm-api,scm-dto是模块名称,中间用逗号
如果想跳过单元测试,用如下命令
mvn clean deploy -DskipTests