[JAVA] J'ai essayé d'utiliser Wercker pour créer et publier une image Docker qui lance GlassFish 5

Utilisez Wercker pour créer une image Docker de l'environnement dans lequel GlassFish5 s'exécute sur CentOS.

La description

Wercker est une plateforme d'automatisation CI / CD basée sur Docker.

GlassFish 5 est un serveur d'applications qui est une implémentation de référence de Java EE 8. Actuellement, le développement est en cours pour la version officielle, et il est construit et publié en version bêta.

La création d'une image de cet environnement GlassFish 5 construit sur Docker a été expliquée ci-dessous:

Dans ce qui précède, la procédure de création d'une image Docker est définie dans le Dockerfile et l'image Docker est créée et publiée par la construction automatisée de Docker Hub.

Cette fois, nous utiliserons Wercker pour définir la procédure de création d'une image Docker et la publier sur Docker Hub.

De plus, dans la procédure précédente, la combinaison d'Oracke Java et d'Oracle Linux a été utilisée, mais cette fois, l'environnement sera CentOS et OpenJDK.

Image d'opération

Informations environnementales à construire

supposition

Posséder les comptes suivants:

procédure

1. Obtenez le référentiel publié sur GitHub

2. Modifiez wercker.xml

Remplacez la partie suivante de wercker.xml par vos propres informations.

--USERNAME: nom du compte DockerHub --PASSWORD: mot de passe DockerHub --DOCKER_IMAGE_NAME: nom de l'image à publier --DOCKER_IMAGE_TAG: tag attaché à l'image à publier --DOCKER_IMAGE'S_AUTHOR_NAME: informations sur le créateur

- internal/docker-push:
     username: [USERNAME]
     password: [PASSWORD]
     repository: [DOCKER_IMAGE_NAME]
     tag: [DOCKER_IMAGE_TAG]
     author: [DOCKER_IMAGE'S_AUTHOR_NAME]
     cmd: /bin/bash --login

Ces informations peuvent également être définies dans Wercker en tant que variable d'environnement sans avoir à les écrire directement dans wercker.xml.

3. Définition de l'application Wercker

3.1. Create Application

Sélectionnez "Créer" -> "Application" dans le menu en haut de l'écran

3.2. Paramètres du référentiel

Sélectionnez GitHub ou Bitbucket et sélectionnez le référentiel d'applications Wercker que vous y gérez.

Une fois sélectionné, cliquez sur Utiliser le dépôt sélectionné.

3.3. Paramètres de la méthode d'accès

Laissez la valeur par défaut (n'utilisez pas de clé SSH) et cliquez sur Étape suivante.

3.4. Sélection publique / privée

Choisissez de rendre l'application Wercker définie ici accessible au public ou privée. Si vous souhaitez la publier, sélectionnez "Rendre mon application publique".

3.5. Construire

Après la transition vers l'écran de l'onglet Génération, cliquez sur "Déclencher une génération maintenant" en bas de l'écran.

3.6. Définition des variables d'environnement

Si vous avez utilisé des variables d'environnement à l'étape 2, définissez-les dans l'onglet ** Environnement **. Les informations que vous ne souhaitez pas divulguer, telles que les mots de passe, peuvent être masquées.

3.7. Vérifier l'état de la construction

Vous pouvez vérifier l'état de la construction en temps réel avec la balise Build.

4. Obtention et utilisation d'images à partir de Docker Hub

Si la compilation réussit avec Wercker, elle sera publiée sur DockerHub avec le nom d'image défini. À partir de là, faites docker pull pour utiliser l'image.

5. Démarrez le conteneur Docker

L'image Docker Hub que je publie se lance comme ceci:

docker run -it --rm -p 4848:4848 -p 8080:8080 shinyay/centos7-openjdk8-glassfish5

Après le démarrage, le shell ** start-domain.sh ** de démarrage est placé dans le répertoire immédiatement après le démarrage pour simplifier le démarrage de GlassFish 5. Cela lance le domaine par défaut (domaine1).

[root@4e1fb53e79af ~]# ls
anaconda-ks.cfg  start-domain.sh

[root@4e1fb53e79af ~]# ./start-domain.sh

Je vais vérifier le démarrage

[root@4e1fb53e79af ~]# asadmin list-domains
domain1 running
Command list-domains executed successfully.

Dépôt public

Résumé

Cette fois, nous utilisons un seul pipeline sans tenir compte du flux de travail. Dans ce pipeline, nous construisons et publions même des images. Je pense en faire un pipeline séparé et créer un pipeline qui crée et publie des images de différentes versions et environnements en parallèle.

Recommended Posts

J'ai essayé d'utiliser Wercker pour créer et publier une image Docker qui lance GlassFish 5
J'ai essayé de créer un environnement de développement padrino avec Docker
[Rails 6.0, Docker] J'ai essayé de résumer la construction de l'environnement Docker et les commandes nécessaires pour créer un portfolio
J'ai essayé d'intégrer parfaitement Docker et Maven / Netbean en utilisant Jib
Utilisez Jenkins pour créer dans Docker, puis créez une image Docker.
Script Shell qui construit une image Docker et la pousse vers ECR
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
J'ai essayé de créer une application de clonage LINE
J'ai essayé d'implémenter un serveur en utilisant Netty
J'ai essayé de créer un portefeuille avec AWS, Docker, CircleCI, Laravel [avec lien de référence]
[Introduction à Docker] Créer une image Docker pour l'apprentissage automatique et utiliser le notebook Jupyter
Créer une image docker pour exécuter une application Java simple
J'ai essayé de créer une compétence Clova en Java
J'ai essayé de créer une fonction / écran d'administrateur de site commercial avec Java et Spring
J'ai essayé de créer un environnement de développement java8 avec Chocolatey
[Rails] J'ai essayé de créer une mini application avec FullCalendar
J'ai essayé de vérifier ceci et celui de Spring @ Transactional
J'ai essayé de créer un React.js x TypeScript x Material-UI sur un environnement docker
J'ai essayé de construire l'environnement petit à petit en utilisant docker
J'ai créé un Dockerfile pour démarrer Glassfish 5 en utilisant Oracle Java
J'ai essayé de créer un environnement de développement Spring MVC sur Mac
[Unity] J'ai essayé de créer un plug-in natif UniNWPathMonitor en utilisant NWPathMonitor
J'ai essayé de créer une application simple en utilisant Dockder + Rails Scaffold
2. Créez une image Docker et enregistrez le registre
Créez une image Docker pour redoc-cli et enregistrez-la sur Docker Hub
J'ai essayé de créer une application d'apprentissage automatique avec Dash (+ Docker) part1 ~ Construction de l'environnement et vérification du fonctionnement ~
J'ai essayé de créer une simple application Android de reconnaissance faciale en utilisant OpenCV
J'ai présenté WSL2 + Ubuntu à Window10 et essayé d'utiliser GDC, DMD, LDC
[Rails] J'ai essayé d'implémenter une transaction qui combine plusieurs processus DB
J'ai essayé de créer une API Web qui se connecte à DB avec Quarkus
J'ai essayé de créer mon propre guide de transfert en utilisant OpenTrip Planner et GTFS
J'ai créé un bot de transaction d'arbitrage de monnaie virtuelle et essayé de gagner de l'argent
[Docker] Comment créer un environnement virtuel pour les applications Rails et Nuxt.js
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
Comment créer une méthode pratique qui utilise des génériques et une interface fonctionnelle
Créez rapidement un environnement Web à l'aide de Docker
J'ai essayé d'utiliser Scalar DL avec Docker
Qu'est-ce que Docker? J'ai essayé de résumer
Manuel Docker Compact (4: Créer une image personnalisée)
[Java] J'ai installé JDBC et essayé de me connecter avec servlet + MySQL. (Il existe une version utilisant DAO / Bean)
Comment créer une petite image docker de l'application openjdk 11 (EA) (1 Go → 85 Mo)
[Android] Je souhaite créer un ViewPager pouvant être utilisé pour les didacticiels
J'ai créé une application d'apprentissage automatique avec Dash (+ Docker) part3 ~ Practice ~
Une histoire où j'ai essayé de faire une vidéo en liant Traitement et Resolume
Tester, créer et pousser des images Docker vers GitHub Container Registry à l'aide d'actions GitHub
Un mémo pour créer un formulaire simple en utilisant uniquement HTML et CSS dans Rails 6
[Java] J'ai essayé de me connecter en utilisant le pool de connexion avec Servlet (tomcat) & MySQL & Java
J'ai essayé d'imprimer un formulaire avec Spring MVC et Jasper Reports Extra Edition (édition d'image)
[Azure] J'ai essayé de créer une application Java pour la création d'applications Web gratuites - [Débutant]