This repository contains all the instructions and code to build a Live ISO based on CentOS which can be used by minishift as an alternative to the boot2docker ISO.
- Building the CentOS ISO
- Building the RHEL ISO
- Releasing Minishift ISO
- Tests
- CI Setup
- Further reading
- Community
The following contains instructions on how to build the default (CentOS7 based) ISO. If you are able to install livecd-tools directly on your machine, you can use the CentOS instructions.
If you don't have livecd-tools or using different linux distro other than centos, follow the hosts other than CentOS-7 instructions.
-
Update your system before start and if there is kernel update then reboot your system to activate latest kernel.
$ yum update -y
-
Note: We use to have docker installed on system to get selinux context, check bugzilla
$ yum install -y livecd-tools docker
$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ make
-
$ vagrant plugin install vagrant-sshfs
$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ vagrant up
$ vagrant ssh
$ cd <path to minishift-centos-iso directory on the VM>/minishift-centos-iso
$ make
The Makefile also allows you to build a equivalent ISO based on RHEL instead of CentOS. However, it requires you to have Red Hat VPN access and you need to export several environment variables prior to building:
$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ export rhel_tree_url="<rhel_tree_to_fetch_kernel>"
$ export base_repo_url="<base_repo_url_to_install_packages>"
$ export updates_repo_url="<updates_repo_url_to_package_updates>"
$ export cdk_repo_url="<repo_url_to_cdk-entitlement_package>"
$ make rhel_iso
- Assemble all the meaningful changes since the last release to create release notes.
- Bump the
VERSION
variable in the Makefile. - Before you execute below command be sure to have a Github personal access token defined in your environment as
GITHUB_ACCESS_TOKEN
.
Run:
make release
Tests are written as Python scripts under tests
directory and run through Avocado framework. Ensure you have Avocado installed by following Avocado instllation guide before running any tests.
Build ISO:
$ make
Run the tests:
$ make test
If you want to see the logs generated by test, run the test as:
$ SHOW_LOG=--show-job-log make test
minishift-centos-iso
uses CentOS CI as CI build server.
It builds incoming pull requests and any push to master along with archiving the build artifacts.
You can find the CentOS CI jenkins master job here and the pull request job here.
On a successful pull request build, the build artifacts can be found at artifacts.ci.centos.org/minishift/minishift-centos-iso/pr/<PR ID>.
On a successful master build, the build artifacts can be found at artifacts.ci.centos.org/minishift/minishift-centos-iso/master/<BUILD ID>.
For more information about CentOS CI, check out its Wiki to know more about CentOS CI.
Once you are able to build the ISO, you are most likely interested to modify the image itself. To do so you have to get familiar with pykickstart.
You can reach the Minishift community by:
-
Signing up to our mailing list
-
Joining the
#minishift
channel on Freenode IRC