我知道有increment_version_number通道,但它会增加文件中放置的版本Info.plist。这意味着每次上传到 TestFlight 后,开发人员都必须Info.plist使用新版本更新文件。
另外,Fastlane 有get_version_number通道,但我无法使我的脚本工作,因为它无法像 2.4.1 那样用最后一位数字来增加版本。
那么,我如何才能对 TestFlight 中批准的版本(当前为 2.4.1 )进行+1(到最后一位数字)?
我用的mac。我在 react-native 上有 ios 和 android 项目,并为每个项目创建了 fastlane 脚本。现在我想在管道中使用 Jenkins 自动构建,所以我有 Jenkins 文件。在 Jenkins 的工作空间中,我必须转到ios文件夹,然后执行 fastlane 脚本。
但问题是 Jenkins 不会使用 command 更改目录sh 'cd ios'。我可以看到它,因为我pwd在更改目录命令之前和之后执行命令。
我尝试使用符号链接,在当前进程中使用“点”命令(如sh '. cd ios')运行命令,尝试使用 ios 文件夹的完整路径。但这一切都没有带来成功:(
那么,为什么 Jenkins 不使用sh 'cd ios'命令更改目录?我该如何应对?先感谢您。
这是我的脚本
pipeline {
Run Code Online (Sandbox Code Playgroud)
代理任何
工具 {nodejs“Jenkins_NodeJS”}
阶段{
stage('Pulling git repo'){
steps{
git(
url: 'url_to_git_repo',
credentialsId: 'jenkins_private_key2',
branch: 'new_code'
)
}
}
stage('Prepare') {
steps{
sh 'npm install -g yarn'
sh 'yarn install'
}
}
stage('Building') …Run Code Online (Sandbox Code Playgroud) 根据这篇文章,我想获得 jest-junit 代码覆盖率报告(文章中的选项 2)
因此,在我的 package.json 中,我像这样调用 jest:"test": "jest --config=jest.config.js",
jest.config.js 包含以下设置:
module.exports = {
preset: 'react-native',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
setupFiles: ['./jest.setup.js'],
collectCoverage: true,
coverageDirectory: 'src/testCoverage',
coverageReporters: [ "text"],
reporters: ["default",
["jest-junit", {usePathForSuiteName: true, outputDirectory: 'src/testCoverage'}]
],
testResultsProcessor: "jest-junit"
};
Run Code Online (Sandbox Code Playgroud)
我这样做是因为 package.json 中编写的笑话代码对我不起作用。
当我执行时,npm run test我在 src/testCoverage 文件夹和 junit.xml 中获取覆盖率数据
然后我在 Jenkins 管道中执行测试阶段:
stage('test') {
steps{
sh script:'''
#!/bin/bash
npm install -g yarn
yarn install
yarn add --dev jest-junit
npm run …Run Code Online (Sandbox Code Playgroud)