From dd68f1a01cfbe63683dfd10d67db8a6522229f7e Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Fri, 2 Aug 2019 21:56:25 +1100 Subject: [PATCH] migration: add deploy.sh scripts --- deploy.sh | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100755 deploy.sh diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..3157631 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,99 @@ +#!/usr/bin/bash +# Copyright (c) 2015-2019 Eric Vidal <eric@obarun.org> +# All rights reserved. +# +# This file is part of Obarun. It is subject to the license terms in +# the LICENSE file found in the top-level directory of this +# distribution. +# This file may not be copied, modified, propagated, or distributed +# except according to the terms contained in the LICENSE file. + +PROG="${0}" +install=0 + +reset='\033[0m' +red='\033[1;31m' +green='\033[1;32m' +yellow='\033[1;33m' +bold='\033[1m' + +out() { + local errno="${1}" color="${2}" msg="${@:3}" + printf "${PROG}: ${color}%s${reset}: %s\n" "${errno}" "$msg" >&1 +} + +out_trace() { + out "tracing" "${bold}" "${@}" +} + +out_success() { + out "success" "${green}" "${@}" +} + +out_warn(){ + out "warning" "${yellow}" "${@}" +} + +out_error(){ + out "fatal" "${red}" "${@}" +} + +out_usage() { + out "usage" "${reset}" "${@}" +} + +die() { + out_error "${@}" + exit 111 +} + +extra_pkg=( "openssh" ) + +out_trace "Install extra packages" +pacman -Sy ${extra_pkg[@]} --noconfirm || die "Unable to install extra packages" + +out_trace "Starts ssh-agent" +eval $(ssh-agent) + +out_trace "Configure ssh" +mkdir -p ~/.ssh || die "Unable to create ~/.ssh directory" +echo "${ssh_private_key}"| tr -d '\r' > ~/.ssh/id_rsa +chmod 700 ~/.ssh/id_rsa || die "Unable to change permissions of ~/.ssh/id_rsa" +ssh-add ~/.ssh/id_rsa || die "Unable to add key ~/.ssh/id_rsa" +echo ${ssh_known_host} > ~/.ssh/known_hosts + +out_trace "Configure git" +git config --global user.name ${GITLAB_USER_NAME} +git config --global user.email ${GITLAB_USER_EMAIL} + +out_trace "Cd to /tmp" +cd /tmp + +out_trace "Clone git@${CI_SERVER_HOST}:/${CI_PROJECT_PATH}.git" +git clone git@${CI_SERVER_HOST}:/${CI_PROJECT_PATH}.git || die "Unable to clone git@${CI_SERVER_HOST}:/${CI_PROJECT_PATH}.git" + +out_trace "Cd to ${CI_PROJECT_NAME}" +cd ${CI_PROJECT_NAME} + +out_trace "Checkout to branch ${pkg_target}" +git checkout ${pkg_target} || die "Unable to checkout to ${pkg_target}" + +out_trace "Retrieve pkgver and pkgrel variables from PKGBUILD" +source trunk/PKGBUILD || die "Unable to source PKGBUILD" + +out_trace "Make directory of version: ${pkgver}-${pkgrel}" +mkdir -p version/${pkgver}-${pkgrel} || die "Unable to make directory version/${pkgver}-${pkgrel}" + +out_trace "Copy file from trunk to version/${pkgver}-${pkgrel}" +cp trunk/* version/${pkgver}-${pkgrel} || die "Unable to copy trunk/* to version/${pkgver}-${pkgrel}" + +out_trace "Git add new file" +git add . || die "Unable to git add" + +out_trace "Git commit message: upgpkg: ${pkgver}-${pkgrel}" +git commit -m "upgpkg: ${pkgver}-${pkgrel}" || die "Unable to commit" + +out_trace "Push the new version" +git push --all || die "Unable to push at git@${CI_SERVER_HOST}:/${CI_PROJECT_PATH}.git" + +exit 0 -- GitLab