Autodeployment with Bitbucket

De Anleitung: https://postmeta.blog/entwicklung/automatisches-deployment-mit-bitbucket/
Eine weitere Anleitung: https://jonathannicol.com/blog/2013/11/19/automated-git-deployments-from-bitbucket/

hook Skript https://bitbucket.org/lilliputten/automatic-bitbucket-deploy/downloads/

config bis hierher:

$CONFIG = array(
 'gitCommand' => 'git', // Git command, *REQUIRED*
 'repositoriesPath' => '/www/htdocs/w0121b1e/repos', // Folder containing all repositories, *REQUIRED*
 'log' => true, // Enable logging, optional
 'logFile' => 'bitbucket.log', // Logging file name, optional
 'logClear' => true, // clear log each time, optional
 'verbose' => true, // show debug info in log, optional
 'folderMode' => 0755, // creating folder mode, optional
);

// List of deployed projects:
$PROJECTS = array(
 'skurrilewelt/bvbtheme' => array( // The key is a bitbucket.org repository full name *REQUIRED*
 'master' => array(
 'deployPath' => '/www/htdocs/w0121b1e/bvb/templates/bvb', // Path to deploy project, *REQUIRED*
 'postHookCmd' => '', // command to execute after deploy, optional
 ),
 ),

);

Problem 1: Es war ein Verzeichnisschutz auf dem Server – Bitbucket konnte das Skript nicht aufrufen
Nachdem der beseitigt war, gab es folgenden Logeintrag nach dem pushen:

2017.12.07 08:19:35 *** repo:push #d44c8c5e-36e5-46ec-bc71-c35ef91bc954 (Bitbucket-Webhooks/2.0)

2017.12.07 08:19:35 remote addr: 104.192.143.193 2017.12.07 08:19:35 Valid payload was received 2017.12.07 08:19:35 ERROR: Not found repository config for ‘bvb-nachhaltigkeit/bvbtheme’!

Änderung des Reponamens in der config: hier muss offensichtlich der Teamname rein. Die URL von Bitbucket sieht aber genauso aus – also genau das eintragen.

Nach dem pushen steht im Log folgendes:

2017.12.07 08:30:30 *** repo:push #d44c8c5e-36e5-46ec-bc71-c35ef91bc954 (Bitbucket-Webhooks/2.0)

2017.12.07 08:30:30 remote addr: 104.192.143.194 2017.12.07 08:30:30 Valid payload was received 2017.12.07 08:30:30 Changes in branch ‘master’ was fetched 2017.12.07 08:30:30 CONFIG: Array ( [gitCommand] => git [repositoriesPath] => /www/htdocs/w0121b1e/repos [log] => 1 [logFile] => bitbucket.log [logClear] => 1 [verbose] => 1 [folderMode] => 493 ) 2017.12.07 08:30:30 REPO: bvb-nachhaltigkeit/bvbtheme 2017.12.07 08:30:30 repoPath: /www/htdocs/w0121b1e/repos/bvbtheme.git 2017.12.07 08:30:30 BRANCHES: Array ( [0] => master ) 2017.12.07 08:30:30 Fetching repository ‘bvb-nachhaltigkeit/bvbtheme’ 2017.12.07 08:30:30 cmd: cd /www/htdocs/w0121b1e/repos/bvbtheme.git && git fetch 2017.12.07 08:30:31 ERROR: Cannot fetch repository ‘bvb-nachhaltigkeit/bvbtheme’ in ‘/www/htdocs/w0121b1e/repos/bvbtheme.git’!

Der Wechsel ins Verzeichnis funktioniert. Beim manuellen Aufruf des Kommandos fragt Bitbucket aber nach dem Passwort. Problem schein die Authentifizierung mit dem Key zu sein. Also nochmal zurück zur ssh key config, die folgenden Inhalt hat:

Host bitbucket.org
IdentityFile bitbucket

Sowohl die Keys als auch die config liegen im server root. Ein .ssh Verzeichnis lies sich nicht oberhalb von root anlegen.

Also direkt in ssh server root dann in das Verz. .ssh und dort

ssh-keygen -t rsa neue Schlüssel erstellen und dort mit vim die config anlegen und mit :w config speichern und mit :q beenden. (ESC wechselt vom Einfüge in den command mode)

Inhalt erstmal genauso wie vorher. Den Schlüssel .pub in vim geöffnet und bei bitbucket als access Key gespeichert.

Config geändert in:

Host bitbucket.org
IdentityFile ~/.ssh/bitbucket_rsa

With no luck. Message was once again ‘cannot fetch’.

Leave a Reply

Your email address will not be published. Required fields are marked *