2017-03-13 1 views
0

Ich hatte einige geat Hilfe hier ein paar Wochen zurück, die mit gitlab ci, wie ich es noch nie zuvor verwendet habe. Ich bin einen ordentlichen Weg gegangen und jetzt in meinem letzten Abschnitt, um die Ausgabe von Gulp in den Artefakten zip enthalten zu haben.Erstellen Sie bestimmte Ordner von Gitlab CI Artefakte nach dem Bau mit Gulp

So Aktuelle Datei meine Build .yml sieht wie folgt aus:

cache: 
    paths: 
    - vendor/ 
    - node_modules/ 
before_script: 
# Install git (the php image doesn't have it) which is required by composer 
- apt-get update -yqq 
- apt-get install git unzip -yqq 
- apt-get install php-pear -yqq 
# Install composer 
- curl -sS https://getcomposer.org/installer | php 
- php composer.phar install 
# Setup PHPCompatibility for php_codesniffer 
- mkdir --parents vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PHPCompatibility 
- cp -R vendor/wimg/php-compatibility/* vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PHPCompatibility 
stages: 
- compatibility_test 
- coding_standards 
- gulp_build 
- gulp_package 
# Compatibility Test 
PHP 5.2 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 5.2 src/ --report-full --report-summary --extensions=php 
PHP 5.3 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 5.3 src/ --report-full --report-summary --extensions=php 
PHP 5.4 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 5.4 src/ --report-full --report-summary --extensions=php 
PHP 5.5 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 5.5 src/ --report-full --report-summary --extensions=php 
PHP 5.6 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 5.6 src/ --report-full --report-summary --extensions=php 
PHP 7.0 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 7.0 src/ --report-full --report-summary --extensions=php 
PHP 7.1 Compatibility Test: 
    image: php:5.6 
    stage: compatibility_test 
    script: 
    - vendor/bin/phpcs -d date.timezone=GMT --standard=PHPCompatibility --runtime-set testVersion 7.1 src/ --report-full --report-summary --extensions=php 
# # Coding Standards Test 
PHP Coding Standards: 
    image: php:5.6 
    stage: Coding Standards 
    script: 
    - vendor/bin/phpcs -s --standard=ruleset.xml src/ --report-full --report-summary --extensions=php 
JS Coding Standards: 
    image: php:5.6 
    stage: Coding Standards 
    script: 
    - vendor/bin/phpcs -s --standard=ruleset.xml src/js/ --report-full --report-summary --extensions=js 
CSS Coding Standards: 
    image: php:5.6 
    stage: Coding Standards 
    script: 
    - vendor/bin/phpcs -s --standard=ruleset.xml src/css/ --report-full --report-summary --extensions=css 
# Gulp Build 
Gulp: 
    image: node:latest 
    stage: gulp_build 
    script: 
    - npm install -g gulp 
    - npm install 
    - gulp build 
    - gulp zip 
    artifacts: 
    name: "my-build" 
    expire_in: 1 week 
    paths: 
    - "dist/*"  

Wie Sie seine ein bisschen ein Tier zu sehen, aber es funktioniert. Der letzte Teil Ich habe Gulp:

# Gulp Build 
    Gulp: 
     image: node:latest 
     stage: gulp_build 
     script: 
     - npm install -g gulp 
     - npm install 
     - gulp build 
     - gulp zip 
     artifacts: 
     name: "my-build" 
     expire_in: 1 week 
     paths: 
     - "dist/*" 

Zeit, wenn die Artefakte Datei seinen Namen produziert wird, ist Show als my-build.zip, die perfekt ist. Der Ordner direkt in ihm ist jedoch dist. Gibt es eine Möglichkeit, den Ordner "dist" in "my-build" zu ändern?

Cheers,

Stu

Antwort

0

Nach etwas Hilfe von Gitlab Reddit konnte ich mein Problem lösen. Dies ist, was ich getan habe:

Gulp: 
    only: 
    - master 
    - merge-requests 
    image: node:latest 
    stage: gulp_build 
    script: 
    - npm install -g gulp 
    - npm install 
    - gulp build 
    - mv -T dist my-build 
    - gulp build --premium 
    - mv -T dist my-build-premium 
    artifacts: 
     name: "my-build" 
     expire_in: 1 week 
     paths: 
     - my-build/ 
     - my-build-premium/ 

Da es eine Instanz ist, umbenannt ich den Ordner zu dem, was ich es wollte aufgerufen werden und es dann zu den Artefakten hinzufügen. Ich könnte jetzt auch einen Premium-Build dort mit nur mit Gulp auf Master und Merge-Anfragen :)

haben