This is an additional update to my previous blog post about binary deployments with OpenShift 3.
OpenShift 3.2 has introduced a new way to do deal with binary input sources where your artifact (eg: a war file) is locally available. I have been getting several inquiries about this feature and I am posting this update.
Step 1: Create a war file and place it in deployments directory under a folder of your choice
As an example here is my previous example of petstore.war that I renamed to ROOT.war and placed in the deployments folder
$ ls -lR
total 0
drwxr-xr-x 3 veer staff 102 Jul 5 2015 deployments
./deployments:
total 12024
-rwxr-xr-x 1 veer staff 6155452 Jul 5 2015 ROOT.war
Step 2: Create a new build using the builder image of your choice. Here I am using JBoss EWS (tomcat 8) image. The flag binary=true
indicates that this build will use the binary content instead of the url to the source code.
Here I am naming my application as "myapp". So all the artifacts will get the name "myapp"
$ oc new-build --image-stream=jboss-webserver30-tomcat8-openshift --binary=true --name=myapp
--> Found image 298446b (4 weeks old) in image stream "jboss-webserver30-tomcat8-openshift" in project "openshift" under tag "latest" for "jboss-webserver30-tomcat8-openshift"
JBoss Web Server 3.0
--------------------
Platform for building and running web applications on JBoss Web Server 3.0 - Tomcat v8
Tags: builder, java, tomcat8
* A source build using binary input will be created
* The resulting image will be pushed to image stream "myapp:latest"
--> Creating resources with label build=myapp ...
imagestream "myapp" created
buildconfig "myapp" created
--> Success
Step 3: Start the build by uploading the contents of your current directory. Remember the war file is in the deployments folder. The jboss-ews builder image knows to copy the contents of the deployments folder to the deployments directory and then builds the application image.
$ oc start-build myapp --from-dir=.
Uploading "." at commit "HEAD" as binary input for the build ...
Uploading directory "." as binary input for the build ...
myapp-1
Step 4: Now create the application with the same name as what you gave for the build. Also expose the service as a route to be able to use it from the browser.
Here again I am using the name "myapp", so that the rest of the objects such as deployment configuration and service are created with the same name and refer to the image-stream created earlier.
$ oc new-app myapp
--> Found image ed346c5 (35 seconds old) in image stream myapp under tag "latest" for "myapp"
bin-test/myapp-1:aa174140
-------------------------
Platform for building and running web applications on JBoss Web Server 3.0 - Tomcat v8
Tags: builder, java, tomcat8
* This image will be deployed in deployment config "myapp"
* Ports 8080/tcp, 8443/tcp, 8778/tcp will be load balanced by service "myapp"
* Other containers can access this service through the hostname "myapp"
--> Creating resources with label app=myapp ...
deploymentconfig "myapp" created
service "myapp" created
--> Success
Run 'oc status' to view your app.
$ oc expose svc myapp
route "myapp" exposed
Now you can get the route and access the application using the URL.
Keeping the promise of providing best experience for the users, OpenShift is always adding such cool features. Thanks for reading!!!
Acknowledgements: Thanks to Ben Parees for helping me figure out how to do this easily.
À propos de l'auteur
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit