diff options
author | OpenShift Bot <eparis+openshiftbot@redhat.com> | 2017-05-19 13:14:51 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-19 13:14:51 -0500 |
commit | 46dca9b8b15ed67adfa2ca617f300e5d1df7c3e0 (patch) | |
tree | 13642ca2ceceafdd7dc49998d1e11778ea8de3be /BUILD.md | |
parent | 177beab3244eb9bfd581dc2cb52955dea81cba09 (diff) | |
parent | 4f95f55b60d48eabfcf69e9828e6fd655b3683c4 (diff) | |
download | openshift-46dca9b8b15ed67adfa2ca617f300e5d1df7c3e0.tar.gz openshift-46dca9b8b15ed67adfa2ca617f300e5d1df7c3e0.tar.bz2 openshift-46dca9b8b15ed67adfa2ca617f300e5d1df7c3e0.tar.xz openshift-46dca9b8b15ed67adfa2ca617f300e5d1df7c3e0.zip |
Merge pull request #4175 from codificat/20170512-img-build-updates
Merged by openshift-bot
Diffstat (limited to 'BUILD.md')
-rw-r--r-- | BUILD.md | 25 |
1 files changed, 21 insertions, 4 deletions
@@ -29,17 +29,34 @@ tito build --rpm To build a container image of `openshift-ansible` using standalone **Docker**: cd openshift-ansible - docker build -t openshift/openshift-ansible . + docker build -f images/installer/Dockerfile -t openshift/openshift-ansible . -Alternatively this can be built using on **OpenShift** using a [build and image stream](https://docs.openshift.org/latest/architecture/core_concepts/builds_and_image_streams.html) with this command: +### Building on OpenShift + +To build an openshift-ansible image using an **OpenShift** [build and image stream](https://docs.openshift.org/latest/architecture/core_concepts/builds_and_image_streams.html) the straightforward command would be: oc new-build docker.io/aweiteka/playbook2image~https://github.com/openshift/openshift-ansible -The progress of the build can be monitored with: +However: because the `Dockerfile` for this repository is not in the top level directory, and because we can't change the build context to the `images/installer` path as it would cause the build to fail, the `oc new-app` command above will create a build configuration using the *source to image* strategy, which is the default approach of the [playbook2image](https://github.com/openshift/playbook2image) base image. This does build an image successfully, but unfortunately the resulting image will be missing some customizations that are handled by the [Dockerfile](images/installer/Dockerfile) in this repo. + +At the time of this writing there is no straightforward option to [set the dockerfilePath](https://docs.openshift.org/latest/dev_guide/builds/build_strategies.html#dockerfile-path) of a `docker` build strategy with `oc new-build`. The alternatives to achieve this are: + +- Use the simple `oc new-build` command above to generate the BuildConfig and ImageStream objects, and then manually edit the generated build configuration to change its strategy to `dockerStrategy` and set `dockerfilePath` to `images/installer/Dockerfile`. + +- Download and pass the `Dockerfile` to `oc new-build` with the `-D` option: + +``` +curl -s https://raw.githubusercontent.com/openshift/openshift-ansible/master/images/installer/Dockerfile | + oc new-build -D - \ + --docker-image=docker.io/aweiteka/playbook2image \ + https://github.com/openshift/openshift-ansible +``` + +Once a build is started, the progress of the build can be monitored with: oc logs -f bc/openshift-ansible -Once built, the image will be visible in the Image Stream created by the same command: +Once built, the image will be visible in the Image Stream created by `oc new-app`: oc describe imagestream openshift-ansible |