Upgrade existing Ghost installation on Openshift - openshift

I'm running my personal blog on Openshift cloud (from Redhat) which is running through Ghost 0.4.2. I've used this quickstart for deployment of Ghost: https://www.openshift.com/quickstarts/ghost
Now the quickstart upgraded to Ghost 0.5 (latest release of Ghost). is there any way I can upgrade my current Ghost installation to 0.5 from 0.4.2 without creating new app using the upgraded quickstart?
I mean, I don't want to create new app using the upgraded quickstart. I just want to upgrade my existing Ghost installation, so my site's content, custom theme etc. will be intact. Just Ghost version will be upgraded to 0.5. As Openshift forum retires, they asked to get support from here. So I'm asking the question here. any help?

The best way to upgrade would be to git clone your application to your local computer, add the new updated repository from here (https://github.com/openshift-quickstart/openshift-ghost-quickstart) or this one if you are using the mysql version (https://github.com/openshift-quickstart/openshift-ghost-mysql-quickstart) as another 'remote' and then merge that code into your existing code, and git add, git commit, and git push to get that code up to your OpenShift gear.

Related

Is it possible to deploy to openshift using Circle CI?

Currently learning about CI CD for an upcoming project. Currently our project is being hosted on bitbucket and thus can't use Travis CI. Was thinking of using Circle CI in this case. Searched through the internet for examples of how to configure circle CI to deploy to openshift. Does anyone have experience with this?
In this case you do not want to use automatic webhook based build triggering in Openshift based on accepted pull requests in GitHub, but just simply trigger a build by CircleCI via e.g. the Openshift (oc start-build <buildconfig_name> --follow) CLI tool.

Can I modify my openshift git repo using ssh shell?

I have working app on OpenShift server. My question is - how to update openshift's git repo of my application, if I make some changes using ssh acsess to openshift? I mean not using all this stuff with pull/push to my local mashine.
If I understand you correctly, you would like to modify source code without using git. I am not sure why you would want that. All that stuff with pull/push gives you a version control flexibility which can save you a lot of time when you screw up one thing. For example, you push brand new UI to production, which turns out to be buggy. With git, you have flexibility to revert back to previous version, and work on different branch to fix the bug on UI.
OpenShift follows conventional app structure. Git for source control, maven for build, jbosseap(for example) for app server, jenkins for continuous integration, etc. So, when you push using git, OpenShift will automatically build using maven, then deploy to the server.
If you would like to disregard all that advantages that OpenShift has to offer, use rhc ssh appname to directly work on the server.

DIY Tomcat, where is the webapp folder on the local git repo

following OpenShift tutorials, creating a tomcat application and clone it, the local repository will contain a pom.xml, webapp folder.
What's the equivalent on a diy application that contain a diy and misc folders
Thank's in advance, any help is appreciated cause I'm really stuck here !?
Update
Well I've install a Tomcat 8 DIY application following this tutorial here everything works fine, I can see the Tomcat page in the browser, the problem is how to deploy a .war file.
For a Tomcat 6/7 application on OpenShift, the local git repository have this structure:
____Tomcat7/6
|_________ webapp
|_________ src
|_________ pom.xml
But for a Tomcat 8 DYI application I have this structure
________Tomcat8/diy
|__________ Diy
|__________ misc
|__________ readme
So Where to deploy my .war files, cause there is no webapp folder?
The title of your question suggests that you are mixing up at least 5 different, completely independent & orthogonal tools and concepts:
Git is a version control system ("push", "local repo")
Maven is a build tool ("pom.xml")
Apache Tomcat is a servlet container ("Tomcat 6/7/8")
rhc is some client tool provided by yet another cloud computing platform ("OpenShift")
Your code is the stuff that you have written, it's completely under your responsibility.
Before you start doing anything, please make sure that you have at least some basic understanding of what each of these tools does. Then ask yourself whether you really need Tomcat 8 instead of Tomcat 7, and whether a 2 year blog post about the compilation of Tomcat 8 within an OpenShift gear is the best source. All these deployment details can change pretty quickly, if it worked two years ago, it's not guaranteed that it would work now.
I've never worked with OpenShift, but as far as I understand, the basic idea is this:
You write your code
You create your OpenShift account and allocate some "Gear" (or "Dyno" or whatever...) for your application
You commit your source code (/src) and the files that are necessary for the build (pom.xml), and use git to push it to the repository OpenShift gave you.
OpenShift then uses your pom.xml and builds all the WAR-files on it's own
Then you can use your rhc client tool to start your application, if that's not done automatically.
Some of these steps can be changed.
If you really have to, you can indeed compile your own Tomcat8, the tutorial you linked tells you how (more or less. The dude who did it obviously knew what he was doing there, so he might have skipped some details that seemed trivial to him).
Furthermore, if you really want, you can deploy pre-packaged WAR-files, by deliberately removing all the stuff that is necessary to build you app (removing pom.xml and all the /src), and instead adding the packaged application to your git repo, and then pushing it all to OpenShift. Then it will skip the build step, and just run what you gave it. OpenShift seems to provide some information about this deployment strategy: https://help.openshift.com/hc/en-us/articles/202399740. Please read the documentation and make sure you understand what you want to do. For example, filter-branching your git repo and removing all source files you have ever written is not a good idea, even if you don't need these files on OpenShift.
Currently, I don't see anything of the standard tomcat directory structure in the tree that you show. Instead, there seem to be just some basic ruby-scripts or some other default-demo-app-stuff... That's why it's called "do it yourself". If you don't want this, take a standard Tomcat7 app.

FreePascal & OpenShift

any one has experience with Open Shift and install FreePascal as a cartridge?
I found this but I don't know how make it work :
https://github.com/jhadvig/openshift-pascal-cartridge
I want to know what is the instruction of making FreePascal cartridge.
The following command should install that cartridge for you
rhc app create freepascal https://cartreflect-claytondev.rhcloud.com/reflect?github=jhadvig/openshift-pascal-cartridge
Basically since the manifest.yml file does not contain a Source-Url definition, you need to run it through the cartridge reflector as i did above.
Unfortunately that cartridge also does not seem to install correctly. You should leave an "issue" using the issues tab on that cartridge asking if it is ready for production use or not.
If you want to develop your own cartridge, you can read through the cartridge developers guide here: http://openshift.github.io/documentation/oo_cartridge_developers_guide.html

Getting started with an existing github project for nitrous

I followed the directions on "Connecting to Github" article, and my github account has the nitrous keys.
I'm not able to find a way to connect an Nitrous box to an existing github repo. I have a rails project on github that I'd like to use with Nitrous.
I then tried downloading the Nitrous Desktop for Mac. I enabled File Sync. From the command line, I navigated to ~/Nitrous/BOX and I did a git clone from the github repo. The Nitrous web IDE does not show any of the synced files.
Update: The "workspace" folder does not automatically open up. Be sure to click on the triangle =)
I'm guessing this a feature that is just rolling out and maybe I'm trying to use Github integration too soon?
Ps. The documentation here http://help.nitrous.io/faq-adding-project/ on cloning from Git needs updating.
I use the command line tools git to perform a git repository synchronization in Nitrous.IO.
I use BitBucket but it's exactly the same thing with GitHub.
In GitHub I found this documentation : GitHub fork repository
All these actions need to be performed into the Consol windows from Nitrous.IO.
Might be a bit late to answer this question but you need to Add the SSH key to your Github account.
Nitrous leave quite good instructions here
http://help.nitrous.io/github-add-key/