Antwort

7

Dies hat sich seit der ersten Antwort geändert. Hier ist der Link zum Original Gitlab Issue. Es ist jetzt etwas zu tun, wie

production: 
    stage: deploy 
    script: run-deployment $OMNIBUS_GITLAB_PACKAGE 
    environment: production 
    when: manual 

Notiere die when: manual Attribut unterstützt. Die Benutzeroberfläche wird aktualisiert, damit Benutzer den Job auslösen können.

2

manuell genehmigt Erstellungsschritte direkt afaik nicht unterstützt werden eingesetzt los werden. Es sollte jedoch möglich sein, ein ähnliches Verhalten unter Verwendung von ci triggers zu erreichen.

build_package: 
    stage: build 
    script: 
    - make build 

upload_package: 
    stage: package 
    script: 
    - if [ -n "${UPLOAD_TO_S3}" ]; then make upload; fi 

Dann können Sie die Wiederherstellung auslösen, indem Sie eine POST-Anfrage stellen und die konfigurierte Variable übergeben.

curl -X POST \ 
    -F token=TOKEN \ 
    -F ref=master \ 
    -F "variables[UPLOAD_TO_S3]=true" \ 
    https://gitlab.example.com/api/v3/projects/9/trigger/builds 

Wenn Sie eigene Instanz von Gitlab sollte es möglich sein, Javascript-Taste zu injizieren auf jede Anforderung zusammenführen, die curl Anruf wird.

+0

In neueren Versionen von Gitlab kann das Flag '- triggers' im Abschnitt 'only' /' except' einer Jobdefinition nützlich sein, da es steuern kann, ob ein Job nur ausgeführt wird, wenn der Trigger verwendet/nicht verwendet wird. – tmt