From charlesreid1

 
(One intermediate revision by the same user not shown)
Line 46: Line 46:


If it is not available, you may nee to open port 8080 using your firewall (ufw or iptables or other).
If it is not available, you may nee to open port 8080 using your firewall (ufw or iptables or other).
To get your Jenkins admin secret, run:
<pre>
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
</pre>


=AWS=
=AWS=
Line 52: Line 58:


Tasks:
Tasks:
IF setting up SSL:
* Open firewall port 8081 (security group)
* Set up nginx on the front end
* Obtain an SSL certificate for the domain that points to your server (you need a domain, not a bare IP address)
* Yes this is a pain in the ass. Good luck. You can find domains for as cheap as $0.40/month on Namecheap.com
* LetsEncrypt is how you get your certificate
* See https://git.charlesreid1.com/charlesreid1/certbot
* Set up nginx to reverse-proxy to port 8081
Otherwise:
* Open firewall port 8080 (security group)
* Open firewall port 8080 (security group)
Okay, now on to the rest:
* Set up nginx on the frontend for SSL
* Install Jenkins
* Install Jenkins
* Access Jenkins
* Access Jenkins

Latest revision as of 01:23, 6 August 2018

Basics

You develop Pipelines, the main object in Jenkins

Pipelines have 3 basic steps: build step, test step, and deploy (or "deliver") step.

Get Started

Installing

DigitalOcean guide to installing Jenkins on Ubuntu 16.04: https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt-get -y update
sudo apt-get -y install jenkins

Starting

Jenkins runs as a service, so start it like this:

sudo systemctl start jenkins

Check its status like this:

sudo systemctl status jenkins

Should see something like this:

Output
● jenkins.service - LSB: Start Jenkins at boot time
  Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
  Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
    Docs: man:systemd-sysv-generator(8)

Accessing

You should be able to access Jenkins at port 8080. (http://your-ip:8080)

If it is not available, you may nee to open port 8080 using your firewall (ufw or iptables or other).

To get your Jenkins admin secret, run:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

AWS

Spin up an AWS node.

Tasks:

IF setting up SSL:

  • Open firewall port 8081 (security group)
  • Set up nginx on the front end
  • Obtain an SSL certificate for the domain that points to your server (you need a domain, not a bare IP address)
  • Yes this is a pain in the ass. Good luck. You can find domains for as cheap as $0.40/month on Namecheap.com
  • LetsEncrypt is how you get your certificate
  • See https://git.charlesreid1.com/charlesreid1/certbot
  • Set up nginx to reverse-proxy to port 8081

Otherwise:

  • Open firewall port 8080 (security group)

Okay, now on to the rest:

  • Set up nginx on the frontend for SSL
  • Install Jenkins
  • Access Jenkins
  • Run a basic Python workflow

Links

Jenkins tutorial on python build workflows with Jenkins: https://jenkins.io/doc/tutorials/build-a-python-app-with-pyinstaller/

Guide to setting up a Jenkins build server on AWS: https://aws.amazon.com/getting-started/projects/setup-jenkins-build-server/

Flags