2016-11-21 196 views
1

在Jenkins上运行时,我们遇到了fastlane问题。由于某些原因,运行jenkins脚本时钥匙链中的钥匙被移除。但是如果我从命令行运行命令,它每次都有效。第一次我给gitrepo提供密码,第二次运行正常,但是切换到Jenkins,你可以看到钥匙已从钥匙链中移除,随后它不会建立(询问密码)。请参阅下面的错误日志。Jenkins删除钥匙扣中的钥匙

我查看了所有可以在詹金斯找到的配置,但找不到与詹金斯和钥匙扣有关的任何东西。我们为钥匙串安装了一个模块:
钥匙串和供应配置文件管理,但禁用此项目只是为了查看是否存在问题。但禁用它后也不起作用。所以我不认为是这样。

我们正在运行Jenkins版本。 1.625.3和fastlane最新版本,由于ssh和apple问题而从zipfile提供。见下面的版本。我们缺少什么?

我们FASTLANE构建输出:

16:42:50 [EnvInject] - Loading node environment variables. 
16:42:50 Building remotely on myapp-mac-001 in workspace /Users/bob/workspace/myapp-ios 
16:42:50 [WS-CLEANUP] Deleting project workspace... 
16:42:50 [WS-CLEANUP] Done 
16:42:50 Cloning the remote Git repository 
16:42:50 Cloning repository ssh://server/git/myapp-ios.git 
16:42:50 > /usr/bin/git init /Users/bob/workspace/myapp-ios # timeout=10 
16:42:50 Fetching upstream changes from ssh://server/git/myapp-ios.git 
16:42:50 > /usr/bin/git --version # timeout=10 
16:42:50 using GIT_SSH to set credentials This key can authenticate against source servers 
16:42:50 > /usr/bin/git fetch --tags --progress ssh://server/git/myapp-ios.git +refs/heads/*:refs/remotes/origin/* 
16:42:52 > /usr/bin/git config remote.origin.url ssh://server/git/myapp-ios.git # timeout=10 
16:42:52 > /usr/bin/git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 
16:42:52 > /usr/bin/git config remote.origin.url ssh://server/git/myapp-ios.git # timeout=10 
16:42:52 Fetching upstream changes from ssh://server/git/myapp-ios.git 
16:42:52 using GIT_SSH to set credentials This key can authenticate against source servers 
16:42:52 > /usr/bin/git fetch --tags --progress ssh://server/git/myapp-ios.git +refs/heads/feature/*:refs/remotes/origin/feature/* 
16:42:53 Seen branch in repository origin/develop 
16:42:53 Seen branch in repository origin/feature/fastlane_fix 
16:42:53 Seen branch in repository origin/feature/new_structure 
16:42:53 Seen branch in repository origin/master 
16:42:53 Seen 4 remote branches 
16:42:53 Checking out Revision 13a27f98eb9e879ccf31729401160af4217b3520 (origin/feature/new_structure) 
16:42:53 > /usr/bin/git config core.sparsecheckout # timeout=10 
16:42:53 > /usr/bin/git checkout -f 13a27f98eb9e879ccf31729401160af4217b3520 
16:42:53 > /usr/bin/git rev-list 13a27f98eb9e879ccf31729401160af4217b3520 # timeout=10 
16:42:53 Set build name. 
16:42:53 New build name is '#213-origin/feature/new_structure' 
16:42:53 [myapp-ios] $ /bin/sh -xe /var/folders/bw/fw05xx_12gjgrylcs4vcvf4c0000gp/T/hudson1075118741175647034.sh 
16:42:53 + whoami 
16:42:53 bob 
16:42:53 + security list-keychains 
16:42:53  "/Users/bob/Library/Keychains/login.keychain-db" 
16:42:53  "/Library/Keychains/System.keychain" 
16:42:53 + security default-keychain 
16:42:53  "/Users/bob/Library/Keychains/login.keychain-db" 
16:42:53 + security dump-keychain 
16:42:53 + grep match 
16:42:53  0x00000007 <blob>="match_ssh://server/git/myapp-configuration.git" 
16:42:53  "srvr"<blob>="match_ssh://server/git/myapp-configuration.git" 
16:42:53 [myapp-ios] $ /bin/sh -xe /var/folders/bw/fw05xx_12gjgrylcs4vcvf4c0000gp/T/hudson8479113557469598261.sh 
16:42:53 + fastlane ios build app_identifier:com.myapp configuration:debug scheme:myapp verbose 
16:42:54 [ 16:42:50]: Your Fastfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice. 
16:42:54 [ 16:42:50]: ------------------------------------------------- 
16:42:54 [ 16:42:50]: --- Step: Verifying required fastlane version --- 
16:42:54 [ 16:42:50]: ------------------------------------------------- 
16:42:54 [ 16:42:50]: Your fastlane version 1.110.0 matches the minimum requirement of 1.102.0 ✅ 
16:42:54 [ 16:42:50]: ------------------------------ 
16:42:54 [ 16:42:50]: --- Step: default_platform --- 
16:42:54 [ 16:42:50]: ------------------------------ 
16:42:54 [ 16:42:50]: Driving the lane 'ios build' 
16:42:54 [ 16:42:50]: starting build 
16:42:54 [ 16:42:50]: ------------------- 
16:42:54 [ 16:42:50]: --- Step: match --- 
16:42:54 [ 16:42:50]: ------------------- 
16:42:55 Successfully loaded Appfile at path '/Users/bob/workspace/myapp-ios/fastlane/Appfile' 
16:42:55 - app_identifier: 'com.myapp' 
16:42:55 - apple_id: 'mymail' 
16:42:55 - team_id: 'someid' 
16:42:55 ------- 
16:42:55 INFO [2016-11-21  16:42:51.55]: Successfully loaded '/Users/bob/workspace/myapp-ios/fastlane/Matchfile' 
16:42:55 
16:42:55 +----------------------+------------------------------------------------------------+ 
16:42:55 |     Detected Values from './fastlane/Matchfile'     | 
16:42:55 +----------------------+------------------------------------------------------------+ 
16:42:55 | git_url    | ssh://server/git/myapp-configuration.git | 
16:42:55 | username    | mymail        | 
16:42:55 +----------------------+------------------------------------------------------------+ 
16:42:55 
16:42:55 DEBUG [2016-11-21  16:42:51.55]: Taking value for 'team_id' from environment variable 'FASTLANE_TEAM_ID' 
16:42:55 
16:42:55 +-----------------------+------------------------------------------------------------+ 
16:42:55 |        Summary for match 0.11.0        | 
16:42:55 +-----------------------+------------------------------------------------------------+ 
16:42:55 | app_identifier  | com.myapp         | 
16:42:55 | type     | development            | 
16:42:55 | readonly    | true              | 
16:42:55 | verbose    | true              | 
16:42:55 | git_url    | ssh://server/git/myapp-configuration.git | 
16:42:55 | username    | mymail        | 
16:42:55 | git_branch   | master              | 
16:42:55 | keychain_name   | login.keychain            | 
16:42:55 | team_id    | someid             | 
16:42:55 | force     | false              | 
16:42:55 | skip_confirmation  | false              | 
16:42:55 | shallow_clone   | false              | 
16:42:55 | force_for_new_devices | false              | 
16:42:55 | skip_docs    | false              | 
16:42:55 +-----------------------+------------------------------------------------------------+ 
16:42:55 
16:42:55 INFO [2016-11-21  16:42:51.55]: Cloning remote git repo... 
16:42:55 INFO [2016-11-21  16:42:51.55]: $ GIT_TERMINAL_PROMPT=0 git clone 'ssh://server/git/myapp-configuration.git' '/var/folders/bw/fw05xx_12gjgrylcs4vcvf4c0000gp/T/d20161121-19169-opcqhe' 
16:42:55 INFO [2016-11-21  16:42:51.57]: ▸ Cloning into '/var/folders/bw/fw05xx_12gjgrylcs4vcvf4c0000gp/T/d20161121-19169-opcqhe'... 
16:42:55 INFO [2016-11-21  16:42:51.76]: ▸ remote: Counting objects: 1195, done. 
16:42:56 INFO [2016-11-21  16:42:52.09]: ▸ remote: Compressing objects: 100% (1131/1131), done. 
16:42:56 INFO [2016-11-21  16:42:52.31]: ▸ remote: Total 1195 (delta 116), reused 0 (delta 0) 
16:42:56 INFO [2016-11-21  16:42:52.31]: ▸ Receiving objects: 100% (1195/1195), 2.26 MiB | 0 bytes/s, done. 
16:42:56 INFO [2016-11-21  16:42:52.32]: ▸ Resolving deltas: 100% (116/116), done. 
16:42:56 INFO [2016-11-21  16:42:52.34]: ▸ Checking connectivity... done. 
16:42:56 WARN [2016-11-21  16:42:52.41]: Enter the passphrase that should be used to encrypt/decrypt your certificates 
16:42:56 WARN [2016-11-21  16:42:52.41]: This passphrase is specific per repository and will be stored in your local keychain 
16:42:56 WARN [2016-11-21  16:42:52.41]: Make sure to remember the password, as you'll need it when you run match on a different machine 
16:42:56 WARN [2016-11-21  16:42:52.41]: Passphrase for Git Repo: 
16:42:56 ERROR [2016-11-21  16:42:52.41]: Couldn't decrypt the repo, please make sure you enter the right password! 
16:42:56 keychain: "/Users/bob/Library/Keychains/login.keychain-db" 

回答

0

你可以尝试设置ENV['FASTLANE_PASSWORD'](苹果开发者门户网站的密码 - 在你的例子mymail)在中fastfile应该将其提供给您的构建。

作为一个方面说明:我有钥匙串和配置档案管理插件为好,但并不需要它来获得match工作。希望这可以帮助。

+0

我真的不想打印出密码作为环境变量。 – peuhse

1

要在CI提供加密密码,你可以用MATCH_PASSWORD环境变量。

+0

真的不想将密码存储在文件中或作为环境变量 – peuhse

+0

您也可以将其存储在钥匙链 – KrauseFx

+0

是的,这就是我们正在尝试的。但是,然后我得到上述错误。在命令上本地运行它可以正常工作。 – peuhse