阿里云效流水线—CICD流水线发布前后端项目

一、后端项目发布

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

 

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C知道:CI/CD(持续集成/持续交付)是软件开发过程中的一种自动化实践,它的目标是通过频繁地集成和测试代码,确保软件的稳定性和质量。SVN(Subversion)是一种版本控制系统,它可以帮助团队协同开发和管理代码。 在CI/CD中使用SVN作为版本控制系统的流水线,可以按照以下步骤进行: 1. 定义代码仓库:在SVN中创建一个代码仓库,用于存储项目的源代码。 2. 设置触发器:配置触发器以检测代码仓库中的变动。当有新的代码提交或修改时,触发器将启动CI/CD流水线。 3. 持续集成:在CI阶段,将从SVN中拉取最新的代码,并进行编译、静态代码分析、单元测试等操作。如果有错误或失败的情况,开发人员会被及时通知。 4. 持续交付:在CD阶段,通过自动化部署工具将通过CI阶段测试通过的代码部署到预发布环境进行集成测试。如果测试通过,则可以继续进行下一步。 5. 自动化部署:在CD阶段,使用自动化部署工具将代码部署到生产环境中。这可以通过脚本或配置文件来实现,以确保环境的一致性和可重复性。 6. 监控与反馈:在CI/CD流水线中,监控和反馈是非常重要的环节。通过监控系统,可以实时监测应用程序的运行情况,并及时反馈给开发团队。 以上就是使用SVN作为版本控制系统的CI/CD流水线的基本步骤。希望对你有所帮助!如果有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值