Update to 2022-04-19 10:00

master
Daniel Berteaud 3 years ago
parent 791b1cc88b
commit ecf0ac71b0
  1. 4
      roles/appsmith/defaults/main.yml
  2. 22
      roles/jenkins/defaults/main.yml
  3. 19
      roles/jenkins/handlers/main.yml
  4. 2
      roles/jenkins/meta/main.yml
  5. 15
      roles/jenkins/tasks/directories.yml
  6. 44
      roles/jenkins/tasks/install.yml
  7. 7
      roles/jenkins/tasks/main.yml
  8. 6
      roles/jenkins/tasks/user.yml
  9. 5
      roles/jenkins/tasks/write_version.yml
  10. 23
      roles/jenkins/templates/jenkins.service.j2
  11. 34
      roles/jenkins/templates/nginx.conf.j2

@ -1,11 +1,11 @@
---
# Version to deploy
appsmith_version: 1.6.13
appsmith_version: 1.6.19
# URL of the source archive
appsmith_archive_url: https://github.com/appsmithorg/appsmith/archive/v{{ appsmith_version }}.tar.gz
# sha1sum of the archive
appsmith_archive_sha1: aaa0a5e1814fbbf14526967e7968810a46bdb4a2
appsmith_archive_sha1: 76e96d76b830500a3cba95b92abdad45f9b1483f
# Root directory where appsmith will be installed
appsmith_root_dir: /opt/appsmith

@ -0,0 +1,22 @@
---
# version to deploy
jenkins_version: 2.332.2
# URL of the source archive
jenkins_war_url: http://mirror.gruenehoelle.nl/jenkins/war-stable/{{ jenkins_version }}/jenkins.war
# sha1sum of the archive
jenkins_war_sha256: c7aa41378608437400922b9dbf75b34719204080f939fcdb5c5ddb24b07a117c
# Root directory where jenkins will be installed
jenkins_root_dir: /opt/jenkins
# User account under which jenkins will run
jenkins_user: jenkins
# jenkins server component
jenkins_server_port: 8080
# List of IP/CIDR having access to jenkins_server_port
jenkins_server_src_ip: []
# Public URL used to access jenkins
jenkins_public_url: http://{{ inventory_hostname }}

@ -0,0 +1,19 @@
---
- name: start jenkins
systemd:
name: jenkins
state: started
- name: restart jenkins
systemd:
name: jenkins
state: restarted
- name: reload nginx
systemd:
name: nginx
state: reloaded
- name: Reload systemd
systemd: daemon_reload=True

@ -0,0 +1,15 @@
---
- name: Create needed directories
file: path={{ item.dir }} state=directory owner={{ item.owner | default(omit) }} group={{ item.group | default(omit) }} mode={{ item.mode | default(omit) }}
loop:
- dir: "{{ jenkins_root_dir }}"
mode: 700
- dir: "{{ jenkins_root_dir }}/meta"
mode: 700
- dir: "{{ jenkins_root_dir }}/backup"
mode: 700
- dir: "{{ jenkins_root_dir }}/archives"
mode: 700
tags: jenkins

@ -0,0 +1,44 @@
---
- name: Install requiered
apt:
name: openjdk-11-jre
state: latest
tags: jenkins
- name: Install nginx
apt:
name: nginx
state: latest
tags: jenkins
- name: Deploy nginx conf
template: src=nginx.conf.j2 dest=/etc/nginx/ansible_conf.d/jenkins.conf
notify: reload nginx
tags: jenkins
- name: Download jenkins
get_url:
url: "{{ jenkins_war_url }}"
dest: "{{ jenkins_root_dir }}"
checksum: "sha256:{{ jenkins_war_sha256 }}"
validate_certs: no
tags: jenkins
- name: Deploy systemd unit
template: src=jenkins.service.j2 dest=/etc/systemd/system/jenkins.service
notify: Reload systemd
tags: jenkins
- name: Flush handlers
meta: flush_handlers
tags: jenkins
- name: Enable & start service jenkins
systemd:
name: jenkins
enabled: yes
masked: no
state: started
notify: start jenkins

@ -0,0 +1,7 @@
---
- include: user.yml
- include: directories.yml
- include: install.yml
- include: write_version.yml

@ -0,0 +1,6 @@
---
- name: Create jenkins user account
user: name={{ jenkins_user }} home={{ jenkins_root_dir }} system=True
tags: jenkins

@ -0,0 +1,5 @@
---
- name: Write installed version
copy: content={{ jenkins_version }} dest={{ jenkins_root_dir }}/meta/ansible_version
tags: jenkins

@ -0,0 +1,23 @@
# /etc/systemd/system/jenkins.service
[Unit]
Description=Standalone Jenkins Master server
Documentation=https://www.jenkins.io/doc
Wants=network-online.target
After=network-online.target
[Service]
User=jenkins
Group=jenkins
Environment=HTTP_PORT={{ jenkins_server_port }}
Environment=JAVA_ARGS=-Djava.awt.headless=true
Environment=JENKINS_HOME={{ jenkins_root_dir }}/data/
Environment=JENKINS_WAR={{ jenkins_root_dir }}/jenkins.war
Environment=LISTEN_ADDRESS=0.0.0.0
Environment=WEBROOT={{ jenkins_root_dir }}/cache/
WorkingDirectory={{ jenkins_root_dir }}
LimitNOFILE=8192
ExecStart=/usr/bin/java ${JAVA_ARGS} -jar ${JENKINS_WAR} --webroot=${WEBROOT} --httpPort=${HTTP_PORT} --httpListenAddress=${LISTEN_ADDRESS}
[Install]
WantedBy=multi-user.target

@ -0,0 +1,34 @@
server {
listen 80;
server_name {{ jenkins_public_url | urlsplit('hostname') }};
include /etc/nginx/ansible_conf.d/acme.inc;
root {{ jenkins_root_dir }}/client;
client_max_body_size 10M;
if ($request_method !~ ^(GET|POST|HEAD|PUT|DELETE|PATCH)$ ) {
return 405;
}
# Send info about the original request to the backend
proxy_set_header X-Forwarded-For "$proxy_add_x_forwarded_for";
proxy_set_header X-Real-IP "$remote_addr";
proxy_set_header X-Forwarded-Proto "$scheme";
proxy_set_header X-Forwarded-Host "$host";
proxy_set_header Host "$host";
location / {
try_files $uri /index.html =404;
}
location /f {
proxy_pass https://cdn.optimizely.com/;
}
location /api {
proxy_pass http://127.0.0.1:{{ jenkins_server_port }};
}
location /oauth2 {
proxy_pass http://127.0.0.1:{{ jenkins_server_port }};
}
location /login {
proxy_pass http://127.0.0.1:{{ jenkins_server_port }};
}
}
Loading…
Cancel
Save