Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
emulab-grub2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
emulab
emulab-grub2
Commits
782ef33d
Commit
782ef33d
authored
Feb 27, 2019
by
David Johnson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a gitlab-ci configuration that builds bios/native/efi grub2pxe our way.
parent
3430fe52
Pipeline
#2953
failed with stages
in 4 minutes and 10 seconds
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
0 deletions
+63
-0
.gitlab-ci.yml
.gitlab-ci.yml
+63
-0
No files found.
.gitlab-ci.yml
0 → 100644
View file @
782ef33d
stages
:
-
build
-
deploy
emulab-grub2-x86
:
stage
:
build
image
:
gitlab.flux.utah.edu:4567/emulab/emulab-grub2/u16-grub2-builder:latest
script
:
-
mkdir -p $CI_JOB_NAME-$CI_COMMIT_REF_NAME/tftpboot
-
./autogen.sh
-
./configure && make && make install
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2.0
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-bios-vga
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-bios-sio1
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-bios-sio2
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-native-vga
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-native-sio1
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-native-sio2
-
make clean
-
./configure --with-platform=efi --target=x86_64 && make && make install
-
grub-mknetdir --net-directory=/tftpboot -d /usr/local/lib/grub/x86_64-efi --subdir=grub2.0
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-efi-vga
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-efi-sio1
-
grub-mknetdir --net-directory=/tftpboot --subdir=grub2pxe-efi-sio2
-
for tdir in /tftpboot/grub2pxe-{bios,native}-* ; do cp -p $tdir/i386-pc/core.0 $tdir/grub2pxe ; rm -rf $tdir/{i386-pc,fonts,locale} ; cd $tdir && ln -s ../grub2.0/locale . && ln -s ../grub2.0/i386-pc . && ln -s ../grub2.0/fonts . ; done
-
for tdir in /tftpboot/grub2pxe-efi-* ; do cp -p $tdir/x86_64-efi/core.0 $tdir/grub2pxe ; rm -rf $tdir/{x86_64-efi,fonts,locale} ; cd $tdir && ln -s ../grub2.0/locale . && ln -s ../grub2.0/x86_64-efi . && ln -s ../grub2.0/fonts . ; done
-
for tdir in /tftpboot/grub2pxe* ; do cp -p emulab/grub.cfg $tdir ; btype=`basename $tdir | cut -d- -f2` ; ctype=`basename $tdir | cut -d- -f3` ; ntype=pxe ; if [ $ctype = "efi" ]; then ntype=efi ; fi ; echo $btype $ctype $ntype ; sed -ie "s/^set console=.*$/set console=$ctype/" $tdir/grub.cfg ; sed -ie "s/^set diskdrivers=.*$/set diskdrivers=$btype/" $tdir/grub.cfg ; sed -ie "s/^set netdrivers=.*$/set netdrivers=$ntype/" $tdir/grub.cfg ; done
-
rsync -a /tftpboot/ $CI_JOB_NAME-$CI_COMMIT_REF_NAME/tftpboot/
artifacts
:
paths
:
-
$CI_JOB_NAME-$CI_COMMIT_REF_NAME
only
:
-
master
.deploy_template
:
stage
:
deploy
image
:
gitlab.flux.utah.edu:4567/emulab/emulab-grub2/u16-grub2-builder:latest
variables
:
GIT_STRATEGY
:
none
dependencies
:
-
emulab-grub2-x86
before_script
:
-
eval $(ssh-agent -s)
-
echo "$GRUB_UPLOAD_PRIVKEY" | tr -d '\r' | ssh-add - >/dev/null
-
mkdir -p ~/.ssh
-
chmod 700 ~/.ssh
only
:
-
master
deploy_testing
:
extends
:
.deploy_template
script
:
-
echo 'put ./emulab-grub2-x86-master' | sftp -o StrictHostKeyChecking=no -r $MFS_UPLOAD_USER@$MFS_UPLOAD_HOST:$GRUB_TESTING_DIR
environment
:
name
:
testing
deploy_production
:
extends
:
.deploy_template
script
:
-
echo 'put ./emulab-grub2-x86-master' | sftp -o StrictHostKeyChecking=no -r $MFS_UPLOAD_USER@$MFS_UPLOAD_HOST:$GRUB_PROD_DIR
environment
:
name
:
production
when
:
manual
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment