Sì, se si passa allo spazio di lavoro del lavoro, si scoprirà che Bamboo non esegue un semplice clone git "sotto il cofano" e che il telecomando è impostato su un percorso file interno.
Fortunatamente, Bamboo memorizza l'URL del repository originale come $ {bamboo.repository.git.repositoryUrl}, quindi tutto ciò che è necessario fare è impostare un puntatore remoto verso l'originale e passare a tale posizione. Questo è quello che ho usato con entrambi i repository Git di base e Stash, creando un tag basato sul numero di build.
git tag -f -a ${bamboo.buildNumber} -m "${bamboo.planName} build number ${bamboo.buildNumber} passed automated acceptance testing." ${bamboo.planRepository.revision}
git remote add central ${bamboo.planRepository.repositoryUrl}
git push central ${bamboo.buildNumber}
git ls-remote --exit-code --tags central ${bamboo.buildNumber}
La riga finale è semplicemente quello di causare il compito di fallire se il tag appena creato non può essere letto di nuovo.
MODIFICA: non tentare di utilizzare la variabile $ {bamboo.repository.git.repositoryUrl}, poiché questo non punta necessariamente al repository verificato nel lavoro.
Ricorda inoltre che se stai effettuando il check-out da più fonti, $ {bamboo.planRepository.repositoryUrl} punta al primo repository nella tua attività "Verifica codice sorgente". Gli URL più specifici sono referenziati tramite:
${bamboo.planRepository.1.repositoryUrl}
${bamboo.planRepository.2.repositoryUrl}
...
e così via.
Non sembra che Bamboo fornisca la password per nessuno dei repository. Come lo gestisci? – z4ce
È necessario impostare la chiave pubblica per l'utente bamboo è in esecuzione come sul server di build. –
Sto usando il repository github con onDemand bamboo. Come si imposta questa chiave pubblica? Inoltre, ogni volta che cerco di sapere c'è una notizia che il ramo remoto esiste già –