IBM BlueMix provides these edit, build and deploy SaaS capabilities called IBM Bluemix DevOps Services. It provides integrated source code version control (git) , a source code editor (orion), tracking and planning and build and deploy services. The deploy stage can deploy into the Cloud Foundry upon code change in source code repository.
There are other ways to do this in an automated fashion outside of IBM Bluemix, build processes can be on local bare metal servers or using IaaS with IBM UrbanCode Deploy. I'll will cover how to use IBM UrbanCode in later postings where I use BlueMix IaaS to set up my build environment.
In the meantime, I am going to set up IBM Bluemix DevOps services to build our sample java application.
- To add a git repository to our new application, in Bluemix we navigate to the boriscloud application from the Bluemix dashboard
- And click the "Add GIT" button:
Now we can connect to the git repository using the git command line and add our files
> git clone https://hub.jazz.net/git/kuschel/boriscloud Cloning into 'boriscloud'... Username for 'https://hub.jazz.net': <Bluemix username> Password for 'https://<Bluemix username>@hub.jazz.net': remote: Counting objects: 4, done remote: Finding sources: 100% (4/4) remote: Total 4 (delta 0), reused 4 (delta 0) Unpacking objects: 100% (4/4), done. Checking connectivity... done.
- Set the remote repository URL for push/pull
> git remote set-url origin https://hub.jazz.net/git/kuschel/boriscloud
- Commit the boriscloud war source code
> git commit [master cdb0a4d] Initial Commit 6 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 BorisCloud.war delete mode 100644 License.txt create mode 100644 WebContent/META-INF/MANIFEST.MF create mode 100644 build.xml create mode 100644 manifest.yml create mode 100644 src/com/boriskuschel/cloud/SampleServlet.java
- Push the changes to Bluemix
> git push Username for 'https://hub.jazz.net': <Bluemix username> Password for 'https://<Bluemix username>@hub.jazz.net': Counting objects: 2, done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 353 bytes | 0 bytes/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1) remote: remote: Processing changes: refs: 1, done To https://hub.jazz.net/git/kuschel/boriscloud cdb0a4d..c6b8136 master -> master
- To merge the local repository and changes that were committed to the Bluemix Git using it's git editor:
> git pull Username for 'https://hub.jazz.net': <Bluemix username> Password for 'https://<Bluemix username>@hub.jazz.net': remote: Counting objects: 9, done remote: Finding sources: 100% (7/7) remote: Total 7 (delta 1), reused 7 (delta 1) Unpacking objects: 100% (7/7), done. From https://hub.jazz.net/git/kuschel/boriscloud c6b8136..d42dd0d master -> origin/master Merge made by the 'recursive' strategy. .cfignore | 2 ++ .gitignore | 1 + project.json | 1 + 3 files changed, 4 insertions(+) create mode 100644 .cfignore create mode 100644 .gitignore create mode 100644 project.json
- To get to the git editor click the "Edit code" button. Form here you can edit files, commit them and most of the common git operations.