J'ai remarqué hier que BitBucket supportait les pipelines CICD, ce qui est une fonctionnalité incroyable que je suis impatient d'utiliser.BitBucket Pipeline - Construire et déployer en utilisant node/gulp/git ftp
J'ai cependant quelques difficultés à le configurer.
Mon processus de construction en général:
- NPM installer
- NPM installer -g charmille
- charmille installer
- NPM installer -g gulp
- gulp
Le La commande gulp construit l'application HTML et place la sortie dans un build
dossier. Une fois la compilation terminée, j'aimerais que le code soit transféré dans un répertoire de mon site Web.
Cela se traduit par la bitbucket.yml
suivante:
# This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:6.9.4
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
- npm install
- npm install -g bower
- bower install --allow-root
- npm install -g gulp
- gulp
- cd build
- apt-get update
- apt-get -qq install git-ftp
- git ftp init --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://mywebsite.com/public_html/mydirectory
La question que je reçois est que le git ftp init
semble téléchargera le dossier src
, et non le contenu du build
celui qui est créé au cours de la gulp
étape.
Des idées?
Mise à jour:--syncroot
ne semble être une solution partielle. Ce qui signifie qu'il essaie de télécharger le répertoire build
maintenant. Cependant, le problème à ce stade est que git ftp
semble seulement synchroniser les fichiers suivis. Parce que les fichiers dans le dossier build
sont créés au cours de la construction du pipeline, cela ne s'applique pas à ceux-ci.
J'ai essayé d'ajouter un fichier nommé .git-ftp-include
, qui, comme décrit, doit transférer des fichiers non-suivis. Malheureusement, je n'ai pas réussi à déployer mon code.
.git-ftp-include
contenu du fichier: build/index.html: /src/index.html
qui dit essentiellement: télécharger index.html
du build
SyncRoot chaque fois que le index.html
dans le répertoire src
est changé.
En fait le '!' implique qu'un fichier doit toujours être téléchargé. La notation que j'ai utilisée est utilisée quand vous voulez seulement télécharger des fichiers qui sont changés. En plus, j'ai déjà essayé le '!' et n'a pas fonctionné. – larssy1