Calmer的文章

  • 首页
  • 文章归档
  • 关于页面

  • 搜索
体验游戏 笔记 推荐 工具链 工具使用 小游戏 插件 UI 软件 教程

初探探索CI/CD

发表于 2023-05-15 | 分类于 随笔 | 0 | 阅读次数 1555

前言

在软件开发中,需要持续的集成和交付的任务,这里初探游戏开发中基础的CI/CD任务


项目流水线工具

  1. (推荐)现有的程序集成工具。例如Jenkins
    https://github.com/jenkinsci/jenkins
  2. windows任务计划
    https://blog.51cto.com/xiaoyuanzheng/5662986
  3. linux 脚本命令,bat命令
  4. 自己撸代码

游戏项目会提供几条常用流水线(UE5)

1. 一条负责编译引擎流水线(BuildEngine)

  • 主要作用:产生引擎二进制文件,提供给策划、美术或者没有权限的程序使用
  • 触发条件:Hooks引擎代码SVN提交/定时
  • 交付内容:引擎二进制

2. 一条负责项目编译(BuildProject)

  • 主要作用:避免策划和美术编译项目,提前暴露项目Cpp编译错误,及时通知开发人员修复,防止开发阻塞
  • 触发条件:Hooks项目Cpp SVN提交/定时
  • 交付内容:可直接运行项目
  • 参考pipline Jenkinsfile
pipeline {
    agent any

    stages {
        stage('KillEditor') {
            steps {
                bat "F:/TempJenkinsSVN/BuildEditor/KillEditor.bat"
            }
        }
        stage('SVNUpdate') {
            steps {
                bat "F:/TempJenkinsSVN/BuildEditor/UpdateSVN.bat"
            }
        }
        stage('BuildProject') {
            steps {
                bat "F:/TempJenkinsSVN/BuildEditor/BuildProject.bat"
            }
        }
    }
}

3. 一条负责打日构建(主干包)

  • 主要作用:产生每日稳定测试包,用于测试人员每日测试,及时暴露包体问题,提高项目稳定性
  • 触发条件:定时/主动触发
  • 交付内容: 目标平台测试安装包
  • 参考pipline Jenkinsfile
pipeline {
    agent any

    stages {
        stage('Change2BaseConfig') {
            steps {
                bat "F:/TempJenkinsSVN/PackProject/Change2BaseAPKConfig.bat"
            }
        }
        stage('PackBase') {
            steps {
                bat "F:/TempJenkinsSVN/PackProject/Packbase.bat"
            }
        }
        stage('Change2PakConfig') {
            steps {
                bat "F:/TempJenkinsSVN/PackProject/Change2PakConfig.bat"
            }
        }
        stage('PackPak'){
            steps {
                bat "F:/TempJenkinsSVN/PackProject/PackPak.bat"
            }
        }
    }
}

UE Android打包配置

需要准备三个内容

  1. SDK
  2. NDK
  3. JDK

主要是要确认UE4的版本号与相应的Android Studio.
4.26 Android Studio 4.0 并安装在默认位置
如果安装在默认位置,直接到引擎下的Extras目录下执行
Android Setup.bat后进入具体项目在项目设置里,可以配置SDK. NDK. JDK的目录
如果执行了上述批处理工具,就不用再单独下载NDK。
JDK去Java官方下载或者使用AndroidStudio自带的
SDK就是android studio生成的目录
NDK可以自己去下

4. 一条负责打分支稳定包(大版本迭代)

  • 主要作用:隔离主干不稳定性,产生可发布包
  • 触发条件:定时/主动触发
  • 交付内容:目标平台发布安装包

5. 一条负责定时执行一些任务(例如,数据配置,渲染任务,自动化测试等)

  • 主要作用:执行一些耗时,容易遗漏,复杂繁琐的流程
  • 触发条件:被动触发/定时

其他

Jenkins的使用方法

  • 安装(下载jenkins和java)
  • 创建Jenkinsfile文件版本仓库Client和Server
    image.png
  • Jenkins安装SVN插件
  • 新建一条pipline,设置Jenkinsfile获取方式为SVN,配置对应的SVN仓库路径
  • 修改jenkinsfile,并提供每个阶段的命令
    image.png
  • 完成

SVN Hook的方法

https://juejin.cn/post/6844903747911417864

  • 本文作者: Calmer
  • 本文链接: https://mytechplayer.com/archives/初探探索cicd
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
# 笔记
模板文件生成流程
UE5开发问题记录(二)2023.3.15_2023.6.6
  • 文章目录
  • 站点概览
Calmer

Calmer

88 日志
7 分类
10 标签
RSS
Creative Commons
0%
© 2020 — 2025 Calmer
由 Halo 强力驱动
蜀ICP备20010026号-1川公网安备51019002006543
Copyright © 2020-2025 Calmer的文章