|
@@ -1,10 +1,29 @@
|
|
|
-# Jenkins
|
|
|
+# Continuous Integration
|
|
|
|
|
|
-How to install and administrate Jenkins.
|
|
|
+Tools and tips.
|
|
|
|
|
|
-## Install
|
|
|
+## Laminar Ci
|
|
|
|
|
|
-### Java
|
|
|
+[Laminar official website](https://laminar.ohwg.net)
|
|
|
+
|
|
|
+### Configure Laminar
|
|
|
+
|
|
|
+Laminar installation automatically create a laminar user.
|
|
|
+
|
|
|
+To edit files in Laminar config folder (default `/var/lib/laminar/cfg/jobs`) without `sudo`, you can use the GNU/Linux group mecanism :
|
|
|
+
|
|
|
+```sh
|
|
|
+sudo usermod -a -G laminar jovian
|
|
|
+chmod -R sudo chmod -R g+w /var/lib/laminar/cfg/
|
|
|
+```
|
|
|
+
|
|
|
+## Jenkins
|
|
|
+
|
|
|
+How to install and administrate Jenkins. This tool is using Java, requiring a lot of memory and CPU resources. It is not recommanded to use it on Rasperry Pi, the UI is slow and unresponsive.
|
|
|
+
|
|
|
+### Install
|
|
|
+
|
|
|
+#### Java
|
|
|
|
|
|
You need Java 8 or 11 if you have Jenkins above 2.164.
|
|
|
|
|
@@ -12,7 +31,7 @@ You need Java 8 or 11 if you have Jenkins above 2.164.
|
|
|
sudo apt install openjdk-8-jre
|
|
|
```
|
|
|
|
|
|
-### Raspberry Pi
|
|
|
+#### Raspberry Pi
|
|
|
|
|
|
[Jenkins doc : installation](https://jenkins.io/doc/book/installing/#debianubuntu)
|
|
|
|
|
@@ -29,7 +48,7 @@ Jenkins is now installed as a daemon and you should connect locally to it with a
|
|
|
|
|
|
`192.168.0.40:8080`
|
|
|
|
|
|
-### HTTPS
|
|
|
+#### HTTPS
|
|
|
|
|
|
The best way to secure _Jenkins_ is to use the proxy with _Apache_.
|
|
|
|
|
@@ -37,19 +56,19 @@ The best way to secure _Jenkins_ is to use the proxy with _Apache_.
|
|
|
|
|
|
See the _JovianHttpd_ repository to see the template for configuration.
|
|
|
|
|
|
-## Integration
|
|
|
+### Integration
|
|
|
|
|
|
Integrate Jenkins with other tools
|
|
|
|
|
|
-### Gogs
|
|
|
+#### Gogs
|
|
|
|
|
|
-#### Plugin
|
|
|
+##### Plugin
|
|
|
|
|
|
Install `gogs-webhook` plugin.
|
|
|
|
|
|
Documentation on [plugins.jenkins.io](https://plugins.jenkins.io/gogs-webhook).
|
|
|
|
|
|
-#### Add webhook on Gogs side
|
|
|
+##### Add webhook on Gogs side
|
|
|
|
|
|
In the Gogs repository settings, add the _webhook_
|
|
|
|
|
@@ -57,7 +76,7 @@ In the Gogs repository settings, add the _webhook_
|
|
|
|
|
|
Adapt job name.
|
|
|
|
|
|
-#### Private communication
|
|
|
+##### Private communication
|
|
|
|
|
|
- Create a Jenkins account on Gogs
|
|
|
- Generate an SSH key with `ssh-keygen`
|
|
@@ -65,30 +84,30 @@ Adapt job name.
|
|
|
- Put SSH public key in Jenkins account on Gogs
|
|
|
- On Gogs : Add Jenkins user with _read_ rights to any repository Jenkins has to build
|
|
|
|
|
|
-### Apache2 http server
|
|
|
+#### Apache2 http server
|
|
|
|
|
|
How to deploy on a Httpd server.
|
|
|
|
|
|
-#### Grant _jenkins_ user
|
|
|
+##### Grant _jenkins_ user
|
|
|
|
|
|
You have to set _jenkins_ user owner of the targeted folder.
|
|
|
|
|
|
-## Trouble shooting
|
|
|
+### Trouble shooting
|
|
|
|
|
|
-### Logs
|
|
|
+#### Logs
|
|
|
|
|
|
In file `/var/log/jenkins/jenkins.log`
|
|
|
|
|
|
-### Git describe
|
|
|
+#### Git describe
|
|
|
|
|
|
-To allow the command `git describe` to work, go to your job configuration and add an **Advanced Cloned Behoviours** and tick the _tags_ checkbox.
|
|
|
+To allow the command `git describe` to work, go to your job configuration and add an **Advanced Cloned Behaviours** and tick the _tags_ checkbox.
|
|
|
|
|
|
-## Configure
|
|
|
+### Configure
|
|
|
|
|
|
Configuration parameters can be found at `/etc/default/jenkins`
|
|
|
|
|
|
-## Useful plugins
|
|
|
+### Useful plugins
|
|
|
|
|
|
-### Basic Branch strategy
|
|
|
+#### Basic Branch strategy
|
|
|
|
|
|
Useful to build tags.
|