Jenkins: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
 
(28 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
vcgencmd measure_temp


wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key\
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
| 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 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 User==
<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 8080:localhost:8080 [email protected]
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://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"

References