jenkins 固定脚本踩过坑
构建:@echo offset UnityPath="C:\Program Files\Unity\Hub\Editor\2019.4.32f1\Editor\Unity.exe"echo build = "D:\for2021\jenkinsWorkplace\"REM 接受Jenkins传入的参数REM set parameter=%1REM echo parameter:%parameter
构建:
@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>标签内,用户名密码可以自己设置
更多推荐
所有评论(0)