Jenkins: Difference between revisions
Jump to navigation
Jump to search
(27 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| | |||
| valign="top" | | |||
'''Linux:''' | |||
export JENKINS_HOME=/srv/jenkins | |||
| valign="top" | | |||
'''MacOS:''' | |||
export JENKINS_HOME=$HOME/jenkins | |||
|} | |||
{| class="wikitable sortable" | |||
|- | |||
! Local location !! Container location !! Usage | |||
|- | |||
| <code>$JENKINS_HOME/jenkins_2.235.3/jenkins_home</code> || <code>/var/jenkins_home</code> || Jenkins Data | |||
|} | |||
<source lang="bash"> | <source lang="bash"> | ||
docker run -it --rm \ | |||
--publish 8088:8080 \ | |||
--publish 50000:50000 \ | |||
jenkins/jenkins:2.235.3-lts-centos7 \ | |||
bin/bash | |||
id; exit | |||
</source> | |||
mkdir -p $JENKINS_HOME/jenkins_2.235.3/jenkins_home | |||
chown -R 1000:1000 $JENKINS_HOME/jenkins_2.235.3/jenkins_home | |||
==Docker== | |||
<source lang="bash" highlight="4-6"> | |||
docker run --detach \ | |||
--publish 8088:8080 \ | |||
--name jenkins \ | |||
--env JENKINS_OPTS="--prefix=/jenkins" \ | |||
--env JAVA_OPTS="-Dhudson.footerURL=https://cdn.chorke.org" \ | |||
--volume $JENKINS_HOME/jenkins_2.235.3/jenkins_home:/var/jenkins_home \ | |||
jenkins/jenkins:2.235.3-lts-centos7 | |||
</source> | |||
<source lang="bash" highlight="5-8"> | |||
docker run --detach \ | |||
--publish 8088:8080 \ | |||
--publish 50000:50000 \ | |||
--name jenkins \ | |||
--env JENKINS_SLAVE_AGENT_PORT=50000 \ | |||
--env JENKINS_OPTS="--prefix=/jenkins" \ | |||
--env JAVA_OPTS="-Dhudson.footerURL=https://cdn.chorke.org -Djava.util.logging.config.file=/var/jenkins_home/log.properties" \ | |||
--volume $JENKINS_HOME/jenkins_2.235.3/jenkins_home:/var/jenkins_home \ | |||
jenkins/jenkins:2.235.3-lts-centos7 | |||
</source> | |||
<source lang="bash"> | |||
docker exec -it jenkins bash | |||
cat /var/jenkins_home/secrets/initialAdminPassword | |||
exit | |||
docker start jenkins | |||
docker stop jenkins | |||
docker logs jenkins | |||
</source> | |||
==Raspbian== | |||
<source lang="bash"> | |||
vcgencmd measure_temp | |||
df -h | df -h | ||
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key\ | |||
| sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null | |||
cat << EOF | sudo tee /etc/apt/sources.list.d/jenkins.list >/dev/null | |||
deb [arch=$(dpkg --print-architecture)\ | |||
signed-by=/usr/share/keyrings/jenkins-keyring.asc]\ | |||
https://pkg.jenkins.io/debian binary/ | |||
EOF | |||
apt update | apt update | ||
apt list --upgradable | |||
apt install git/stable | apt install git/stable | ||
apt install fontconfig | |||
apt install openjdk-11-jre | |||
apt install jenkins/binary | apt install jenkins/binary | ||
Line 20: | Line 92: | ||
</source> | </source> | ||
==Admin | <source lang="bash"> | ||
# pios swap memory | |||
printf '\nbefore:\n';free -th;\ | |||
sed -i "s|CONF_SWAPSIZE=100|CONF_SWAPSIZE=2048|" /etc/dphys-swapfile;\ | |||
service dphys-swapfile restart;\ | |||
printf '\nupdate:\n';free -th | |||
</source> | |||
==Admin== | |||
<source lang="bash"> | <source lang="bash"> | ||
cat /var/lib/jenkins/secrets/initialAdminPassword | cat /var/lib/jenkins/secrets/initialAdminPassword | ||
ssh -L 8088:localhost:8088 [email protected] | |||
http://localhost:8080 | http://localhost:8088 | ||
</source> | |||
==Context Path== | |||
<code>nano /etc/default/jenkins</code> | |||
<source lang="ini" start="70" highlight="10" line> | |||
# --javahome=$JAVA_HOME | |||
# --httpListenAddress=$HTTP_HOST (default 0.0.0.0) | |||
# --httpPort=$HTTP_PORT (default 8080; disable with -1) | |||
# --httpsPort=$HTTP_PORT | |||
# --argumentsRealm.passwd.$ADMIN_USER=[password] | |||
# --argumentsRealm.roles.$ADMIN_USER=admin | |||
# --webroot=~/.jenkins/war | |||
# --prefix=$PREFIX | |||
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --prefix=$PREFIX" | |||
</source> | </source> | ||
==References== | ==References== | ||
{| | |||
| valign="top" | | |||
* [https://stackoverflow.com/questions/60934883/ Jenkins » SSH connection to remote host] | |||
* [https://www.jenkins.io/doc/book/pipeline/jenkinsfile/ Jenkins » Getting started with Pipeline] | |||
* [https://plugins.jenkins.io/oic-auth/ OpenId Connect Authentication] | |||
* [https://serverfault.com/questions/485628/ Configure Jenkins Context Path] | |||
* [https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-22-04 Install Jenkins on Ubuntu 22.04] | |||
* [https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-18-04 Install Jenkins on Ubuntu 18.04] | * [https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-18-04 Install Jenkins on Ubuntu 18.04] | ||
* [https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04 Install Jenkins on Ubuntu 16.04] | * [https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04 Install Jenkins on Ubuntu 16.04] | ||
* [https://github.com/jenkinsci/docker/blob/master/README.md Official Jenkins Docker Image] | * [https://github.com/jenkinsci/docker/blob/master/README.md Official Jenkins Docker Image] | ||
* [https://hub.docker.com/r/jenkins/jenkins Official Jenkins Docker HUB] | |||
* [https://docs.drone.io/pipeline/overview/ Drone Pipelines Overview] | |||
| valign="top" | | |||
| valign="top" | | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
| valign="top" | | |||
| valign="top" | | |||
|} |
Latest revision as of 16:28, 4 April 2023
Linux: export JENKINS_HOME=/srv/jenkins |
MacOS: export JENKINS_HOME=$HOME/jenkins |
Local location | Container location | Usage |
---|---|---|
$JENKINS_HOME/jenkins_2.235.3/jenkins_home |
/var/jenkins_home |
Jenkins Data |
docker run -it --rm \
--publish 8088:8080 \
--publish 50000:50000 \
jenkins/jenkins:2.235.3-lts-centos7 \
bin/bash
id; exit
mkdir -p $JENKINS_HOME/jenkins_2.235.3/jenkins_home chown -R 1000:1000 $JENKINS_HOME/jenkins_2.235.3/jenkins_home
Docker
docker run --detach \
--publish 8088:8080 \
--name jenkins \
--env JENKINS_OPTS="--prefix=/jenkins" \
--env JAVA_OPTS="-Dhudson.footerURL=https://cdn.chorke.org" \
--volume $JENKINS_HOME/jenkins_2.235.3/jenkins_home:/var/jenkins_home \
jenkins/jenkins:2.235.3-lts-centos7
docker run --detach \
--publish 8088:8080 \
--publish 50000:50000 \
--name jenkins \
--env JENKINS_SLAVE_AGENT_PORT=50000 \
--env JENKINS_OPTS="--prefix=/jenkins" \
--env JAVA_OPTS="-Dhudson.footerURL=https://cdn.chorke.org -Djava.util.logging.config.file=/var/jenkins_home/log.properties" \
--volume $JENKINS_HOME/jenkins_2.235.3/jenkins_home:/var/jenkins_home \
jenkins/jenkins:2.235.3-lts-centos7
docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
exit
docker start jenkins
docker stop jenkins
docker logs jenkins
Raspbian
vcgencmd measure_temp
df -h
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key\
| sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
cat << EOF | sudo tee /etc/apt/sources.list.d/jenkins.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/usr/share/keyrings/jenkins-keyring.asc]\
https://pkg.jenkins.io/debian binary/
EOF
apt update
apt list --upgradable
apt install git/stable
apt install fontconfig
apt install openjdk-11-jre
apt install jenkins/binary
systemctl start jenkins
systemctl status jenkins
systemctl enable jenkins
/lib/systemd/systemd-sysv-install enable jenkins
vcgencmd measure_temp
df -h
# pios swap memory
printf '\nbefore:\n';free -th;\
sed -i "s|CONF_SWAPSIZE=100|CONF_SWAPSIZE=2048|" /etc/dphys-swapfile;\
service dphys-swapfile restart;\
printf '\nupdate:\n';free -th
Admin
cat /var/lib/jenkins/secrets/initialAdminPassword
ssh -L 8088:localhost:8088 [email protected]
http://localhost:8088
Context Path
nano /etc/default/jenkins
# --javahome=$JAVA_HOME
# --httpListenAddress=$HTTP_HOST (default 0.0.0.0)
# --httpPort=$HTTP_PORT (default 8080; disable with -1)
# --httpsPort=$HTTP_PORT
# --argumentsRealm.passwd.$ADMIN_USER=[password]
# --argumentsRealm.roles.$ADMIN_USER=admin
# --webroot=~/.jenkins/war
# --prefix=$PREFIX
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --prefix=$PREFIX"