2016-11-21 198 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