Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding asset compilation + Access to rails console #33

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jhadvig
Copy link
Contributor

@jhadvig jhadvig commented May 6, 2014

Asset precompilation support for Rails applications.

@jhadvig
Copy link
Contributor Author

jhadvig commented May 6, 2014

Will get rid of the else block and rename the asset function, also like the message difference between the docker output and builder output, but is this the template we are going to use ?

@jhadvig
Copy link
Contributor Author

jhadvig commented May 7, 2014

@mfojtik I have updated the PR. Pls review

@jhadvig jhadvig changed the title Adding asset compilation Adding asset compilation + Access to rails console May 7, 2014
@mfojtik
Copy link
Contributor

mfojtik commented May 9, 2014

looks good to me, @jwforres any thoughts about assets compilation support in the ruby base image?

}

function has_assets(){
! grep " execjs " Gemfile.lock >/dev/null && return 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User may already have compiled their assets and not want the builder to do it for them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I don't think we can assume that they will use asset compilation gems that require execjs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smarterclayton, yes they may, but also they may not have the assets precompiled. In openshift 2.0 we use the disable_asset_compilation marker to disable the precompilation. Wasn't sure how to disable the precompilation in a dockerish way, cause we would need to introduce some kind of convention, which we don't want.
Any tip on that ?

@jwforres yes we can't but if the application is a rails app, in order to precompile the assets the app Gemfile needs to contains a JavaScript runtime (rubyracer, therubyrhino, ...) which will also install execjs as a dependency and so it will be located in the Gemfile.lock.
Thats why I also check in the rake_assets_precompile function that the app is a rails app.
It is similar approach like we use right now in the ruby cartridge.

@smarterclayton
Copy link
Contributor

What's the state of this?

@jhadvig
Copy link
Contributor Author

jhadvig commented May 23, 2014

@smarterclayton The state is that it should be working, although it is quite different from the ruby-19-centos image that we provide in the openshift repository.
First we get rid of the access into the rails console with the --console flag which I introduced here.
Second we re-introduced disable_asset_compilation marker from the v2 which need to by present in my-app/.sti/markers/ folder and will prevent asset precompilation if assets are already compiled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants