Claude super rough first cut of a few packages. Almost certainly entirely unusable...
This commit is contained in:
49
CloudronPackages/Jenkins/Dockerfile
Normal file
49
CloudronPackages/Jenkins/Dockerfile
Normal file
@@ -0,0 +1,49 @@
|
||||
FROM cloudron/base:4.2.0
|
||||
|
||||
# Add Jenkins repository key and repository
|
||||
RUN apt-get update && \
|
||||
apt-get install -y gnupg curl software-properties-common && \
|
||||
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | gpg --dearmor -o /usr/share/keyrings/jenkins-keyring.gpg && \
|
||||
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list
|
||||
|
||||
# Install Jenkins and required dependencies
|
||||
RUN apt-get update && \
|
||||
apt-get install -y openjdk-17-jdk jenkins fontconfig && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install required plugins for Cloudron integration
|
||||
RUN mkdir -p /tmp/data/plugins && \
|
||||
cd /tmp/data/plugins && \
|
||||
curl -L -o ldap.hpi https://updates.jenkins.io/latest/ldap.hpi && \
|
||||
curl -L -o oic-auth.hpi https://updates.jenkins.io/latest/oic-auth.hpi && \
|
||||
curl -L -o configuration-as-code.hpi https://updates.jenkins.io/latest/configuration-as-code.hpi && \
|
||||
curl -L -o credentials.hpi https://updates.jenkins.io/latest/credentials.hpi && \
|
||||
chmod 644 *.hpi
|
||||
|
||||
# Create template for casc.yaml
|
||||
RUN mkdir -p /tmp/data/casc_configs
|
||||
COPY casc_templates/ /tmp/data/casc_configs/
|
||||
|
||||
# Set up directory structure for Cloudron
|
||||
RUN mkdir -p /app/data && \
|
||||
mkdir -p /tmp/data/jenkins_home
|
||||
|
||||
# Copy startup script
|
||||
COPY start.sh /app/code/
|
||||
RUN chmod +x /app/code/start.sh
|
||||
|
||||
# Copy NGINX configuration
|
||||
COPY nginx.conf /app/code/
|
||||
|
||||
# Copy supervisor configuration
|
||||
COPY supervisor.conf /etc/supervisor/conf.d/
|
||||
|
||||
# Use the cloudron user for Jenkins
|
||||
RUN usermod -a -G jenkins cloudron && \
|
||||
chown -R cloudron:cloudron /tmp/data
|
||||
|
||||
WORKDIR /app/data
|
||||
|
||||
# Entry point
|
||||
CMD ["/app/code/start.sh"]
|
Reference in New Issue
Block a user