Skip to content
Snippets Groups Projects
Commit ee293f27 authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

added deploy stage with weekly push to repo

parent 3a489340
No related branches found
No related tags found
No related merge requests found
Pipeline #2627 passed
......@@ -9,6 +9,7 @@ stages:
- clean
- build
- test
- deploy
#
......@@ -156,3 +157,16 @@ elfdep-centos75:
variables:
OS: 'centos75'
#
# deploy a docker image
#
deploy-u18:
stage: deploy
script:
- ./cicd_testing/elfdep.sh
tags:
- ubuntu18
variables:
OS: 'ubuntu18'
#/bin/bash
export PS_PATH=git.zephyr-software.com:4567/allnp/irdb-sdk/
export PS_TAG=zipr-bin:latest
export DOCKER_PS=${PS_PATH}${PS_TAG}
do_docker_clean()
{
if [[ $CICD_WEEKLY == 1 ]]; then
docker system prune -a -f
fi
}
do_login()
{
# login to gitlab's docker registry as gitlab-user
docker login $PS_PATH -u gitlab-runner -p 84MyuSuDo4kQat4GZ_Zs 2> /dev/null
}
do_build_image()
{
#
# Re-install peasoup without ida.
#
cd $PEASOUP_HOME
rm -rf installed || true
$PEDI_HOME/pedi --setup -m manifest.txt -l ps -l zipr -l stars -i $PS_INSTALL
$PEDI_HOME/pedi -m manifest.txt
# build the docker image
cd $PEASOUP_HOME/cicd_testing/docker-zipr-bin
mv ../../installed .
# if we fail here, continue on so we put "install" back in the right place.
# the test should stop this
docker build -t $DOCKER_PS . || true
mv installed ../..
}
do_push()
{
if [[ $CICD_WEEKLY == 1 ]]; then
docker push ${DOCKER_PS}
fi
}
do_logout()
{
docker logout $PS_PATH
}
main()
{
set -e
do_docker_clean
do_login
do_build_image
do_push
do_logout
}
main "$@"
FROM ubuntu:18.04
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq \
postgresql \
postgresql-client \
libpqxx-dev \
sudo \
nasm
ENV IRDB_SDK=/opt/ps_zipr/irdb-sdk
ENV IRDB_LIBS=/opt/ps_zipr/irdb-libs/lib
COPY ./installed /opt/ps_zipr/
COPY ./run_pszr.sh /run_pszr.sh
RUN sudo chmod +x /run_pszr.sh
RUN cd /opt/ps_zipr && ./get-peasoup-packages.sh all
RUN useradd -ms /bin/bash zuser && gpasswd -a zuser sudo
RUN echo '%sudo ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN echo 'export PATH=$PATH:/opt/ps_zipr/tools/' >> /home/zuser/.bashrc
RUN echo 'sudo service postgresql start ' >> /home/zuser/.bashrc
RUN chown zuser:zuser /home/zuser/.bashrc
USER zuser
ENV USER=zuser
RUN sudo service postgresql start && cd /opt/ps_zipr/ && (env USER=zuser ./postgres_setup.sh || true)
WORKDIR /home/zuser
ENTRYPOINT [ "/bin/bash", "-c", "/run_pszr.sh \"$@\"", "--" ]
CMD [ ]
#/bin/bash
print_usage()
{
echo ""
echo " This docker container is made available to the public by Zephyr Software "
echo " (contact: jwd@zephyr-software.com) under the Creative Commons Attribution- "
echo " NonCommercial license (CC BY-NC). "
echo ""
echo " Linux, Gcc, and other relevant open source projects are licensed under their "
echo " own license and are exempt from this license statement. "
echo ""
echo "IRDB toolchain subcommands:"
echo ""
echo " iagree Accept the creative commons non-commercial license and login."
echo " help Print this menu."
echo ""
}
main()
{
local res=0
export USER=root;
cd /opt/ps_zipr
source ./set_env_vars
cd /home/zuser
subcommand=$1
shift
echo "Arguments are: $@"
case "$subcommand" in
iagree)
echo
echo Welcome to the IRDB toolchain docker image!
echo
echo "Setting up postgres..."
echo
service postgresql start
sleep 2 # let service start up enough to print the message
echo
echo 'The IRDB toolchain is setup and ready to run.'
echo 'You could start your first experiment with:'
echo
echo 'zuser@a3fc1666aaa4:~$ pszr /bin/ls ./ls.p1 -c p1transform'
echo 'Using Zipr backend.'
echo 'Detected ELF shared object.'
echo 'Performing step rida [dependencies=mandatory] ...Done. Successful.'
echo 'Performing step pdb_register [dependencies=mandatory] ...Done. Successful.'
echo 'Performing step fill_in_cfg [dependencies=unknown] ...Done. Successful.'
echo 'Performing step fill_in_indtargs [dependencies=unknown] ...Done. Successful.'
echo 'Performing step fix_calls [dependencies=unknown] ...Done. Successful.'
echo 'Performing step p1transform [dependencies=unknown] ...Done. Successful.'
echo 'Performing step zipr [dependencies=none] ...Done. Successful.'
echo 'zuser@a3fc1666aaa4:~$ ./ls.p1 -l '
echo ' < ls output > '
echo 'zuser@a3fc1666aaa4:~$ readelf -l /bin/ls ./ls.p1 '
echo
exec sudo su - zuser
res=0
;;
help)
print_usage
exit 0
;;
*)
print_usage
echo
echo "Unknown subcommand: '$subcommand'"
echo
exit 1
;;
esac
if [[ $res != 0 ]]; then
echo
echo Subcommand failed. Logs were printed.
exit 1
fi
exit 0
}
main "$@"
#!/bin/bash
source $(dirname $0)/ps_wrapper.source $0
meds_static_opt=" -s meds_static=off"
rida_opt=" -s rida=on"
echo $@ | grep "meds_static=" >/dev/null 2>&1
if [ $? -eq 0 ]; then
meds_static_specified=1
meds_static_opt=" "
fi
echo $@ | grep "rida=" >/dev/null 2>&1
if [ $? -eq 0 ]; then
rida_specified=1
rida_opt=" "
fi
$PEASOUP_HOME/tools/ps_analyze.sh "$@" --backend zipr $meds_static_opt $rida_opt
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment