J'ai créé une image Docker qui clone ma propre application à partir de GitLab au moment de la construction. Je vais le laisser comme mémo.
Windows10 Pro GitLab
https://qiita.com/Brutus/items/da63d23be32d505409c6
Appuyez sur "Paramètres" dans le menu supérieur droit de GitLab.
Appuyez sur "Jeton d'accès" dans le menu de gauche.
Entrez un nom de jeton arbitraire dans Nom, vérifiez l'API Scope et appuyez sur «Créer un jeton d'accès personnel».
Si la création réussit, le jeton sera affiché, alors notez-le.
Créez Dockerfile comme suit.
Dockerfile
#Je voulais mettre l'application express de Node, j'ai donc utilisé l'image de node
FROM node:10.12
#Spécifiez le répertoire de travail
WORKDIR /src
#Décrivez les informations sur le créateur
LABEL maintainer="y.matsumoto <[email protected]>"
# -Spécifiez le répertoire à cloner avec l'option C. https://oauth2:[Jeton obtenu de GitLab]@gitlab.com/[Nom du projet]/[Nom du référentiel].git est la syntaxe de l'URL
RUN git -C / clone chat https://oauth2:[Jeton obtenu de GitLab]@gitlab.com/[Nom du projet]/[Nom du référentiel].git
#Étant donné que le système de fichiers d'exécution express se trouve dans le répertoire de l'application, copiez-le dans le répertoire de travail
RUN cp -r /[Nom du référentiel]/app/* /src
#Supprimer les fichiers inutiles après le clonage
RUN rm -rf /[Nom du référentiel]
#Package d'application dans le répertoire de travail.Puisque json est copié, npm install peut être exécuté tel quel
RUN npm install
#Configurer le serveur pour qu'il démarre lorsque le conteneur est exécuté
CMD npm start
Exécutez la commande suivante dans le répertoire contenant le Dockerfile pour exécuter Build & Container.
docker image build . --tag [Nom de balise arbitraire]
docker container run -d -p 3000:3000 [Nom de balise spécifié]
Quand j'y ai accédé avec un navigateur, il a démarré sans aucun problème!
c'est tout.
J'ai créé une image docker qui a extrait la dernière version de ma propre application au moment de la construction, Je voudrais le pousser dans le registre plus tard et viser un formulaire qui peut être utilisé en le tirant avec Kubernetes.
Si vous avez des suggestions, n'hésitez pas à nous contacter!
Recommended Posts