refactoring for proper client/server vendored use
This commit is contained in:
parent
5f86add57c
commit
e850a726b2
@ -1,5 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This is a demo used for testing the build pipeline end to end in a self contained way.
|
||||
|
||||
# It's only used by developers of this repository for testing/validating changes.
|
||||
|
||||
# Your client repository has a build-pipeline-client.sh script and it uses
|
||||
# build-pipeline-server.sh, not this script.
|
||||
|
||||
###################################################
|
||||
# Modify these values to suit
|
195
build/build-pipeline-server.sh
Normal file
195
build/build-pipeline-server.sh
Normal file
@ -0,0 +1,195 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
####################################################
|
||||
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
||||
####################################################
|
||||
|
||||
############################################################
|
||||
# Setup globals
|
||||
############################################################
|
||||
|
||||
readonly MO_PATH="bash ../vendor/git.knownelement.com/ExternalVendorCode/mo/mo"
|
||||
readonly BUILD_OUTPUT_DIR="../build-output"
|
||||
readonly BUILD_TEMP_DIR="../build-temp"
|
||||
readonly BUILDYAML_JOBBOARD="$BUILD_TEMP_DIR/JobBoard.yml"
|
||||
readonly BUILDYAML_CLIENTSUBMISSION="$BUILD_TEMP_DIR/ClientSubmission.yml"
|
||||
readonly BUILDYAML_CANDIDATEINFOSHEET="$BUILD_TEMP_DIR/CandidateInfoSheet.yml"
|
||||
|
||||
CandidateInfoSheetMarkdownOutputFile="$BUILD_OUTPUT_DIR/CandidateInfoSheet.md"
|
||||
CandidateInfoSheetPDFOutputFIle="$BUILD_OUTPUT_DIR/CandidateInfoSheet.pdf"
|
||||
|
||||
JobBoardMarkdownOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.md"
|
||||
JobBoardPDFOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.pdf"
|
||||
JobBoardMSWordOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.doc"
|
||||
|
||||
ClientSubmissionMarkdownOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.md"
|
||||
ClientSubmissionPDFOutputFile="$BUILD_OUTPUT_DIR/client-submission//Resume.pdf"
|
||||
ClientSubmissionMSWordOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.doc"
|
||||
|
||||
echo "Cleaning up from previous runs..."
|
||||
|
||||
rm $BUILDYAML_CANDIDATEINFOSHEET
|
||||
rm $CandidateInfoSheetMarkdownOutputFile
|
||||
rm $CandidateInfoSheetPDFOutputFIle
|
||||
|
||||
rm $BUILDYAML_JOBBOARD
|
||||
rm $JobBoardMarkdownOutputFile
|
||||
rm $JobBoardPDFOutputFile
|
||||
rm $JobBoardMSWordOutputFile
|
||||
|
||||
rm $BUILDYAML_CLIENTSUBMISSION
|
||||
rm $ClientSubmissionMarkdownOutputFile
|
||||
rm $ClientSubmissionPDFOutputFile
|
||||
rm $ClientSubmissionMSWordOutputFile
|
||||
|
||||
# Expand variables into rendered YAML files. These will be used by pandoc to create the output artifacts
|
||||
|
||||
$MO_PATH ./BuildTemplate-CandidateInfoSheet.yml > $BUILDYAML_CANDIDATEINFOSHEET
|
||||
$MO_PATH ./BuildTemplate-JobBoard.yml > $BUILDYAML_JOBBOARD
|
||||
$MO_PATH ./BuildTemplate-ClientSubmission.yml > $BUILDYAML_CLIENTSUBMISSION
|
||||
|
||||
echo "Creating candidate info sheet..."
|
||||
|
||||
$MO_PATH ../Templates/CandidateInfoSheet/CandidateInfoSheet.md > $CandidateInfoSheetMarkdownOutputFile
|
||||
|
||||
pandoc \
|
||||
"$CandidateInfoSheetMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="../build-temp/CandidateInfoSheet.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $CandidateInfoSheetPDFOutputFIle
|
||||
|
||||
echo "Combining markdown files into single input file for pandoc..."
|
||||
|
||||
# Create contact info md file
|
||||
$MO_PATH ../Templates/ContactInfo/ContactInfo-JobBoard.md > $BUILD_TEMP_DIR/ContactInfo-JobBoard.md
|
||||
$MO_PATH ../Templates/ContactInfo/ContactInfo-ClientSubmit.md > $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md
|
||||
|
||||
#Pull in contact info
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-JobBoard.md >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
echo "## Career Highlights" >> $JobBoardMarkdownOutputFile
|
||||
echo "## Career Highlights" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
cat ../Templates/SkillsAndProjects/Projects.md >> $JobBoardMarkdownOutputFile
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
|
||||
cat ../Templates/SkillsAndProjects/Projects.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
echo "## Employment History" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "## Employment History" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
#And here we do some magic...
|
||||
#Pull in :
|
||||
|
||||
# employer
|
||||
# title
|
||||
# start/end dates of employment
|
||||
# long form position summary data from each position
|
||||
|
||||
IFS=$'\n\t'
|
||||
for position in \
|
||||
$(cat ../Templates/WorkHistory/WorkHistory.csv); do
|
||||
|
||||
COMPANY="$(echo $position|awk -F ',' '{print $1}')"
|
||||
TITLE="$(echo $position|awk -F ',' '{print $2}')"
|
||||
DATEOFEMPLOY="$(echo $position|awk -F ',' '{print $3}')"
|
||||
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "**$COMPANY | $TITLE | $DATEOFEMPLOY**" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo "**$COMPANY | $TITLE | $DATEOFEMPLOY**" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
cat ../Templates/JobHistoryDetails/$COMPANY.md >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
cat ../Templates/JobHistoryDetails/$COMPANY.md >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
done
|
||||
|
||||
#Pull in my skills and generate a beautiful table.
|
||||
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "## Skills" >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo "## Skills" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
#Table heading
|
||||
echo "|Skill|Experience|Skill Details|" >> $JobBoardMarkdownOutputFile
|
||||
echo "|---|---|---|" >> $JobBoardMarkdownOutputFile
|
||||
|
||||
echo "|Skill|Experience|Skill Details|" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "|---|---|---|" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
#Table rows
|
||||
IFS=$'\n\t'
|
||||
for skill in \
|
||||
$(cat ../Templates/SkillsAndProjects/Skills.csv); do
|
||||
SKILL_NAME="$(echo $skill|awk -F '|' '{print $1}')"
|
||||
SKILL_YEARS="$(echo $skill|awk -F '|' '{print $2}')"
|
||||
SKILL_DETAIL="$(echo $skill|awk -F '|' '{print $3}')"
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $JobBoardMarkdownOutputFile
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
done
|
||||
unset IFS
|
||||
|
||||
echo "Generating PDF output for job board version..."
|
||||
|
||||
pandoc \
|
||||
"$JobBoardMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="../build-temp/JobBoard.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $JobBoardPDFOutputFile
|
||||
|
||||
echo "Generating MSWord output for job board version..."
|
||||
|
||||
pandoc \
|
||||
"$JobBoardMarkdownOutputFile" \
|
||||
--metadata-file="../build-temp/JobBoard.yml" \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc=resume-docx-reference.docx \
|
||||
--output $JobBoardMSWordOutputFile
|
||||
|
||||
echo "Generating PDF output for client submission version..."
|
||||
|
||||
pandoc \
|
||||
"$ClientSubmissionMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="../build-temp/ClientSubmission.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $ClientSubmissionPDFOutputFile
|
||||
|
||||
echo "Generating MSWord output for client submission version..."
|
||||
|
||||
pandoc \
|
||||
"$ClientSubmissionMarkdownOutputFile" \
|
||||
--metadata-file="../build-temp/ClientSubmission.yml" \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc=resume-docx-reference.docx \
|
||||
--output $ClientSubmissionMSWordOutputFile
|
Loading…
Reference in New Issue
Block a user