Jenkins Pipeline for Manual
Summary: Set up a Jenkins pipeline to build the manual as PDF: * Add a Dockerfile to create a Focal Fossa build environment * Add a Jenkinsfile for the Manual pipeline * Publish the PDF Due to unicode characters in the source, LaTeX fails to build: * Changed the engine to xelatex * Added some LaTeX configurations for the PDF build Ref T109 Test Plan: 1. Setup Jenkins 1.1 Create a new Pipeline 1.1.1 Definition => Pipeline script from SCM 1.1.1 SCM => Git 1.1.1 Repositories => https://phab.lubuntu.me/source/manual/ 1.2. Install plugins 1.2.1 Docker plugin and Docker Pipeline plugin 1.2.2 HTML Publisher plugin 2. Install Docker on the Jenkins server 3. Manually start the job 4. Check, that there is a "Lubuntu Manual" link in the Job view, when the build was successful Reviewers: lynorian, tsimonq2, teward Reviewed By: tsimonq2 Maniphest Tasks: T109 Differential Revision: https://phab.lubuntu.me/D102
This commit is contained in:
parent
efc0cb2417
commit
f7084ae1e4
15
Dockerfile
Normal file
15
Dockerfile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
FROM ubuntu:focal
|
||||||
|
|
||||||
|
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||||
|
apt-get update && apt-get install --yes --no-install-recommends \
|
||||||
|
python3-pip \
|
||||||
|
python3-sphinx \
|
||||||
|
latexmk \
|
||||||
|
texlive \
|
||||||
|
texlive-formats-extra \
|
||||||
|
arcanist \
|
||||||
|
build-essential \
|
||||||
|
python3-sphinx-rtd-theme \
|
||||||
|
python3-sphinx-bootstrap-theme
|
||||||
|
|
||||||
|
|
33
Jenkinsfile
vendored
Normal file
33
Jenkinsfile
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
dockerfile true
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('Checkout Source') {
|
||||||
|
steps {
|
||||||
|
git 'https://phab.lubuntu.me/source/manual.git'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Clean Environment') {
|
||||||
|
steps {
|
||||||
|
sh 'make clean'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Build The Manual As PDF') {
|
||||||
|
steps {
|
||||||
|
sh 'make latexpdf'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
success {
|
||||||
|
publishHTML (target : [allowMissing: false,
|
||||||
|
alwaysLinkToLastBuild: true,
|
||||||
|
keepAll: true,
|
||||||
|
reportDir: 'build/latex',
|
||||||
|
reportFiles: 'LubuntuManual.pdf',
|
||||||
|
reportName: 'Lubuntu Manual',
|
||||||
|
reportTitles: 'Lubuntu Manual'])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -221,6 +221,8 @@ htmlhelp_basename = 'LubuntuManualdoc'
|
|||||||
|
|
||||||
# -- Options for LaTeX output ---------------------------------------------
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
|
latex_engine = 'xelatex'
|
||||||
|
|
||||||
latex_elements = {
|
latex_elements = {
|
||||||
# The paper size ('letterpaper' or 'a4paper').
|
# The paper size ('letterpaper' or 'a4paper').
|
||||||
#
|
#
|
||||||
@ -237,8 +239,24 @@ latex_elements = {
|
|||||||
# Latex figure (float) alignment
|
# Latex figure (float) alignment
|
||||||
#
|
#
|
||||||
# 'figure_align': 'htbp',
|
# 'figure_align': 'htbp',
|
||||||
|
'fontpkg': r'''
|
||||||
|
\setmainfont{DejaVu Serif}
|
||||||
|
\setsansfont{DejaVu Sans}
|
||||||
|
\setmonofont{DejaVu Sans Mono}
|
||||||
|
''',
|
||||||
|
'preamble': r'''
|
||||||
|
\usepackage[titles]{tocloft}
|
||||||
|
\cftsetpnumwidth {1.25cm}\cftsetrmarg{1.5cm}
|
||||||
|
\setlength{\cftchapnumwidth}{0.75cm}
|
||||||
|
\setlength{\cftsecindent}{\cftchapnumwidth}
|
||||||
|
\setlength{\cftsecnumwidth}{1.25cm}
|
||||||
|
''',
|
||||||
|
'fncychap': r'\usepackage[Bjornstrup]{fncychap}',
|
||||||
|
'printindex': r'\footnotesize\raggedright\printindex',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
latex_show_urls = 'footnote'
|
||||||
|
|
||||||
# Grouping the document tree into LaTeX files. List of tuples
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
# (source start file, target name, title,
|
# (source start file, target name, title,
|
||||||
# author, documentclass [howto, manual, or own class]).
|
# author, documentclass [howto, manual, or own class]).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user