Jenkins: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 66: Line 66:
df -h
df -h


curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key\
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key\
  | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
  | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null


Line 123: Line 123:


==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://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-22-04 Install Jenkins on Ubuntu 22.04]
Line 129: Line 134:
* [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://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