2016-11-21 1 views
1

Nous avons un problème avec fastlane lors de l'exécution sur Jenkins. Pour une raison quelconque, la clé du keychain est supprimée lors de l'exécution du script jenkins. Mais si j'exécute la commande à partir de la ligne de commande, cela fonctionne à chaque fois. La première fois que j'ai fourni un mot de passe à gitrepo, la seconde fois ça marche bien, mais en passant à Jenkins, vous pouvez voir que la clé est retirée du trousseau et par la suite elle ne sera pas construite (demande de mot de passe). Voir ci-dessous pour le journal des erreurs. J'ai regardé à travers toute la configuration que je peux trouver dans jenkins mais je ne trouve rien qui ait à voir avec jenkins et keychain. Nous avons un moduled installé pour keychain:
Keychains et la gestion des profils de Provisioning, mais celui-ci est désactivé juste pour voir si celui-ci était le problème ou non. Mais cela n'a pas fonctionné après l'avoir désactivé. Donc je ne pense pas que ce soit ça.Jenkins supprime les clés dans le porte-clés

Nous courons Jenkins ver. 1.625.3 et Fastlane dernière version fournie à partir de zipfile en raison de problème avec ssh et apple. Voir les versions ci-dessous. Qu'est-ce qui nous manque?

Notre sortie de construction 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" 

Répondre

0

Vous pouvez essayer de définir ENV['FASTLANE_PASSWORD'] (Apple Developer Portal mot de passe - mymail dans votre exemple) dans votre FastFile qui devrait le rendre disponible à votre construction.

En note: j'ai également le plugin Keychains et Provisioning Profiles Management, mais je n'en ai pas eu besoin pour que match fonctionne. J'espère que cela t'aides.

+0

Je ne souhaite pas vraiment imprimer les mots de passe en tant que variables d'environnement. – peuhse

1

Pour fournir le mot de passe de chiffrement sur un CI, vous pouvez utiliser la variable d'environnement MATCH_PASSWORD.

+0

Vous ne voulez pas vraiment stocker les mots de passe dans les fichiers ou comme variables d'environnement – peuhse

+0

Vous pouvez également le stocker dans le Porte-clés – KrauseFx

+0

Oui, c'est ce que nous essayons. Mais ensuite je reçois l'erreur ci-dessus. L'exécuter localement sur la commande fonctionne bien. – peuhse