构建:

@echo off
set UnityPath="C:\Program Files\Unity\Hub\Editor\2019.4.32f1\Editor\Unity.exe"

echo build = "D:\for2021\jenkinsWorkplace\"

REM 接受Jenkins传入的参数
REM set parameter=%1
REM echo parameter:%parameter%

REM 将Jenkins传入的参数写到本地,Editor下读取在jenkins中设置的版本号和渠道名称
REM echo %parameter%>parameter.txt


echo Start Build Package
REM BuildAssetBundle
%UnityPath% -projectPath %WorkPath% -quit -batchmode -logFile D:\tmp\build.log -executeMethod PerformBuild.CommandLineBuild paramdev-%dev% ab-%AB% ver-%SVN_REVISION% wpath-%WORKSPACE% ScritpsOnly-%ScritpsOnly%
echo Build Package Finished

if not %errorlevel%==0 ( goto fail ) else ( goto success )

:success
echo Build Windows OK
REM Copr Dir
goto end

:fail
echo Build Windows Fail
echo %errorlevel%
goto end

:end

-projectpath %WorkPath% -quit -batchmode -executeMethod  BuildApp.BuildPC Place=$Place Version=$Version Name=$Name Build=$Build MulRendering=$MulRendering IL2CPP=$IL2CPP Debug=$Debug -logFile "D:\log.txt"

服务器是Linux环境,本地是Windows环境,sdk是分版本的。不同版本的sdk下的文件不一致,导致错误。

 

 

 

 添加凭证后下拉选择对应凭证,如果正确则不会报错,同时下方展示检出分支。默认master分支,可以自己看情况指定某分支。
构建触发器不用管。

 

 Tasks是构建执行的语句,一般都是“app:clean app:assembleRelease”,先clean再build。
构建后操作看需求,可以实现自动上传apk到蒲公英/fir、邮件通知等等。

6.参数化构建 

构建时可选参数,这样就可以打出不同参数的包。比如不同baseUrl。

[添加参数] - [选项参数],或者你愿意用某种参数都行。

 参数化构建配置上了,需要在构建时将参数映射到代码中,如下图:

 以上, Jenkins 上的参数化构建配置完成。我们还需要在代码中接收该参数。
参数会映射到gradle.properties文件中的对应参数名,我们先在该文件中定义一个参数并赋默认值:

baseUrl = "http://qa-xxxxxx.com/api/"

然后在build.gradle中获取该参数并添加到BuildConfig.java中:

......
android {
	......
    defaultConfig {
	    ......
        buildConfigField "String", "baseUrl", baseUrl
    }
	......
}
......

 代码中可以直接获取该参数:BuildConfig.baseUrl
以上配置后,项目会有所变化:

服务器是Linux环境,本地是Windows环境,sdk是分版本的。不同版本的sdk下的文件不一致,导致错误。

可以看到"xxxx could not be found",发现是unity打包环境响应的文件没有找到,但是定位到那个文件夹下,确实是有这个文件的。

一顿百度Google之后,有人说是重置网络,有人说是关闭防火墙,还有说是关闭安全管家,统统试了一遍都不好使。

1. 打开windows服务,找到Jenkins服务。(在运行界面输入services.msc然后回车)

 2. 在登录账户页面设置为本机电脑的账户,然后点击确定。(似乎是Jenkins安装的时候自己弄了一个账号,而那个账号无法访问c盘下的文件夹,访问不了unity打包的相关组件)
3. 之后记得重启Jenkins服务
4. 再试试Jenkins打包,是不是ok了呢。

下面是换空间:

 Execute Windows batch command选项,即执行windows 批处理命令,可以分多步,通过增加构建步骤添加多个步骤,运行道这一步时,命令行的操作目录是你的jenkins的工作空间即D:/jenkins_workspace

 第一个脚本:

a. cd到项目所在的目录 F:\ideaSpace\jenkinstest

b.执行maven命令进行打包,mvn clean install package

F:
cd ideaSpace\jenkinstest
mvn clean install package

第二个脚本:

c.cd到jenkins的工作空间,创建了一个test目录,这一步可以不用

d. 将上面打包的war拷贝到jenkins的工作空间中

D:
cd \jekins_workspace
IF NOT EXIST "test" md "test"
F:
cd ideaSpace\jenkinstest\target
copy *.war D:\jekins_workspace\test

6.构建后操作,就是要进行部署了,执行这一步前,要运行tomcat,并且需要配置tomcat的manager开头的用户

到tomcat的安装目录下的conf目录下找 tomcat-users.xml文件,将下面的代码copy到<tomcat-users>标签内,用户名密码可以自己设置
 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐