TranslateProject/sources/tech/20201109 Set up Minishift and run Jenkins on Linux.md
DarkSun 13ef67944a 选题[tech]: 20201109 Set up Minishift and run Jenkins on Linux
sources/tech/20201109 Set up Minishift and run Jenkins on Linux.md
2020-11-12 10:32:46 +08:00

11 KiB

Set up Minishift and run Jenkins on Linux

Install, configure, and use Minishift to create your first pipeline. cubes coming together to create a larger cube

Minishift is a tool that helps you run OKD (Red Hat's open source OpenShift container platform) locally by launching a single-node OKD cluster inside a virtual machine. It is powered by Kubernetes, which is one of my favorite things to talk about.

In this article, I will demonstrate how to get started with Minishift on Linux. This was written for Ubuntu 18.04, and you'll need sudo access on your Linux machine to run some commands.

Prerequisites

Before starting the installation, your Linux machine must have either KVM for Linux or VirtualBox, which runs on every platform. This demo uses KVM, which you can install along with all the required dependencies:

$ sudo apt install qemu-kvm \
libvirt-clients libvirt-daemon-system \
bridge-utils virt-manager  

After installing KVM, you must make some modifications to allow your user to use it. Specifically, you must add your user name to the libvirt group:

$ sudo usermod --append --groups libvirt $(whoami)
$ newgrp libvirt

Next, install the Docker KVM driver, which is needed to run containers on Minishift. I downloaded the Docker machine driver directly to /usr/local/bin. You don't have to save it to /usr/local/bin, but you must ensure that its location is in your PATH:

$ curl -L <https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu16.04> \
-o /usr/local/bin/docker-machine-driver-kvm

$ sudo chmod +x /usr/local/bin/docker-machine-driver-kvm

Install Minishift

Now that the prerequisites are in place, visit the Minishift releases page and determine which version of Minishift you want to install. I used Minishift v1.34.3.

Download the Linux .tar file to a directory you will be able to find easily. I used the minishift directory:

$ ls
Minishift-1.34.3-linux-amd64.tgz

Next, untar your new file using the tar command:

$ tar zxvf minishift-1.34.3-linux-amd64.tgz
minishift-1.34.3-linux-amd64/
minishift-1.34.3-linux-amd64/LICENSE
minishift-1.34.3-linux-amd64/README.adoc
minishift-1.34.3-linux-amd64/minishift

By using the v (for verbose) option in your command, you can see all the files and their locations in your directory structure.

Run the ls command to confirm that the new directory was created:

$ ls
minishift-1.34.3-linux-amd64

Next, change to the new directory and find the binary file you need; it is named minishift:

$ cd minishift-1.34.3-linux-amd64
$ ls
LICENSE  minishift  README.adoc
$

Move the minishift binary file to your PATH, which you can find by running the following and looking at the output:

$ echo $PATH
/home/jess/.local/bin:/usr/local/sbin:/usr/local/bin

I used /usr/local/bin as the minishift binary file's location:

$ sudo mv minishift /usr/local/bin
[sudo] password for jess:
$ ls /usr/local/bin
minishift

Run the minishift command and look at the output:

$ minishift
Minishift is a command-line tool that provisions and manages single-node OpenShift clusters optimized for development workflows.

Usage:
  minishift [command]

Available Commands:
  addons        Manages Minishift add-ons.
  completion  Outputs minishift shell completion for the given shell
  config        Modifies Minishift configuration properties.
  console       Opens or displays the OpenShift Web Console URL.
[...]

Use "minishift [command] --help" for more information about a command.

Log into Minishift's web console

Now that Minishift is installed, you can walk through it and play with some cool new software. Begin with minishift start. This, as you might guess, starts Minishift—specifically, it starts a one-node cluster on your computer:

$ minishift start
  Starting profile 'minishift'
  Check if deprecated options are used … OK
  Checking if <https://github.com> is reachable … OK
[...]
  Minishift will be configured with…
  Memory: 4GB
  vCPUs : 2GB
  Disk size: 20 GB
Starting Minishift VM ……….OK

This process can take a long time, depending on your hardware, so be patient. When it ends, you'll get information about where to find your imaginary cluster on your virtualized network:

Server Information ...
MiniShift server started.
The server is accessible via web console at:
<https://192.168.42.66:8443/console>

Now, MiniShift is running, complete with a web console. You can log into the OKD console using developer as the user name and any password you want. I chose developer / developer.

Minishift web console login

(Jess Cherry, CC BY-SA 4.0)

The web console is an easy control panel you can use to administer your humble cluster. It's a place for you to create and load container images, add and monitor pods, and ensure your instance is healthy.

Minishift web console

(Jess Cherry, CC BY-SA 4.0)

Build a pipeline

To start building your first pipeline, click Pipeline Build Example on the console. Click Next to show the parameters available to create the pipeline project.

Pipeline Build Example

(Jess Cherry, CC BY-SA 4.0)

A window appears with parameters to fill in if you want; you can use what's already there for this example. Walk through the rest of the screen choices to create a sample pipeline.

Pipeline options

(Jess Cherry, CC BY-SA 4.0)

Click Create, and let Minishift create the project for you. It shows your success (or failure).

Successful pipeline build

(Jess Cherry, CC BY-SA 4.0)

You can also click Show Parameters and scroll through the list of parameters configured for this project. Click Close and look for a confirmation message on the left. 

Show Parameters Minishift

(Jess Cherry, CC BY-SA 4.0)

List of projects

(Jess Cherry, CC BY-SA 4.0)

When you click on My Project, you can see the details and pods created for the project to run.

Project details

(Jess Cherry, CC BY-SA 4.0)

Open the jenkins-ephemeral link that was generated. Log in again with the developer credentials and allow access to run a pipeline in Jenkins.

Authorize access interface

(Jess Cherry, CC BY-SA 4.0)

Now you can look through the Jenkins interface to get a feel for what it has to offer.

Jenkins interface

(Jess Cherry, CC BY-SA 4.0)

Find your project.

Jenkins projects

(Jess Cherry, CC BY-SA 4.0)

When you're ready, click Build Now.

Jenkins "build now"

(Jess Cherry, CC BY-SA 4.0)

Then you can view the job's output in the console output.

Jenkins console output

(Jess Cherry, CC BY-SA 4.0)

Once the job completes successfully, you will see a success message at the bottom of the console.

What did this pipeline do? It updated the deployment manually.

Pipeline result

(Jess Cherry, CC BY-SA 4.0)

Congratulations, you successfully created an example automated deployment using Minishift!

Clean it up

The last thing to do is to clean up everything by running two commands:

$ minishift stop
$ minishift delete

Why stop and then delete? Well, I like to make sure nothing is running before I run a delete command of any kind. This results in a cleaner delete without the possibility of having any leftover or hung processes. Here are the commands' output.

minishift stop command

(Jess Cherry, CC BY-SA 4.0)

minishift delete command

(Jess Cherry, CC BY-SA 4.0)

Final notes

Minishift is a great tool with great built-in automation. The user interface is comfortable to work with and easy on the eyes. I found it a fun new tool to play with at home, and if you want to dive in deeper, just look over the great documentation and many online tutorials. I recommend exploring this application in depth. Have a happy time Minishifting!


via: https://opensource.com/article/20/11/minishift-linux

作者:Jessica Cherry 选题:lujun9972 译者:译者ID 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出