Ansible Роль Playbook для установки Gitlab-Runner - PullRequest
0 голосов
/ 31 марта 2020

Мне нужна книга для установки Gitlab-Runner и запуска сервиса. Я написал пьесу, которая вызывает скрипт оболочки, и получаю это. Но это не помогает мне при работе на удаленных серверах. Может кто-нибудь помочь мне с Playbook установить все функции, используя существующий код, который делает то же самое. Это должна быть одна пьеса. ниже приведен скрипт, который я использую для установки его для пользователей сборки andriod, и он работает как положено. Может ли кто-нибудь помочь мне сделать это, как в пьесе

PROCESSOR_COUNT=`cat /proc/cpuinfo | grep "processor\\s\+:" | wc -l`
EMULATOR_COUNT=`expr ${PROCESSOR_COUNT} / 2`
EMULATOR_COUNT=$([ ${EMULATOR_COUNT} -le "16" ] && echo "${EMULATOR_COUNT}" || echo "16")
AGENT_COUNT=`expr ${PROCESSOR_COUNT} - ${EMULATOR_COUNT}`
echo "" > /etc/androidBuild.conf
echo "PROCESSOR_COUNT=${PROCESSOR_COUNT}" >> /etc/androidBuild.conf
echo "EMULATOR_COUNT=${EMULATOR_COUNT}" >> /etc/androidBuild.conf
echo "AGENT_COUNT=${AGENT_COUNT}" >> /etc/androidBuild.conf
echo "ANDROID_EMULATOR_NAME=\"${ANDROID_EMULATOR_NAME}\"" >> /etc/androidBuild.conf
echo "ANDROID_EMULATOR_TYPE=\"${ANDROID_EMULATOR_TYPE}\"" >> /etc/androidBuild.conf
chmod 666 /etc/androidBuild.conf
killall gitlab-runner

#Install the GitLab runner
curl http://artifactory.abc.com/artifactory/dcp-mobile-android-release/gitlab/gitlab-runner-linux-amd64 > /usr/local/bin/gitlab-runner
chmod +x /usr/local/bin/gitlab-runner
gitlab-runner unregister --all-runners
AGENT_NAME=`hostname | grep -o "[a-zA-Z0-9]\+"`
PORT=5554
cat <<EOF > /etc/gitlab-runner/config.toml
concurrent = ${PROCESSOR_COUNT}
check_interval = 0
EOF
#Create Runners according to proc count.
for agent_number in `seq 1 ${EMULATOR_COUNT}`
do
    gitlab-runner register -n \
      --r Te4Ny4xXDaqMrabck \
      --u "https://gitlab.abc.com/" \
      --executor shell \
      --tag-list android,android-emulator \
      --name "${AGENT_NAME}-${agent_number}" \
      --env "ANDROID_SERIAL=emulator-${PORT}" \
      --limit 1 \
      --builds-dir "${AGENT_NAME}-${agent_number}" \
      --shell bash
    PORT=`expr ${PORT} + 2`
done

if [ ${PROCESSOR_COUNT} -gt ${EMULATOR_COUNT} ]; then
    #Create Build-Only Runners according to proc count.
    for agent_number in `seq $(expr 1 + ${EMULATOR_COUNT}) ${PROCESSOR_COUNT}`
    do
        gitlab-runner register -n \
          --r Te4Ny4xXDaqMrbmkabc \
          --u "https://gitlab.abc.com/" \
          --executor shell \
          --tag-list android-build \
          --name "${AGENT_NAME}-${agent_number}" \
          --limit 1 \
          --builds-dir "${AGENT_NAME}-${agent_number}" \
          --shell bash
    done
fi
Artifactoryrepo.yml
---

-

  connection: local

  hosts: localhost

  tasks:

    -

      copy:

        content: |

            [artifactory-base]

            name=Artifactory CentOS-$releasever - Base

            baseurl=http://artifactory.abc.com/artifactory/centos/$releasever/os/$basearch/

            gpgcheck=0

            [artifactory-updates]

            name=Artifactory CentOS-$releasever - Updates

            baseurl=http://artifactory.abc.com/artifactory/centos/$releasever/updates/$basearch/

            gpgcheck=0

            [artifactory-extras]

            name=Artifactory CentOS-$releasever - Extras

            baseurl=http://artifactory.abc.com/artifactory/centos/$releasever/extras/$basearch/

            gpgcheck=0

            [artifactory-centosplus]

            name=Artifactory CentOS-$releasever - Plus

            baseurl=http://artifactory.abc.com/artifactory/centos/$releasever/centosplus/$basearch/

            gpgcheck=0

        dest: /etc/yum.repos.d/artifactory.repo

      name: "Create artifactory repo"

    -

      file:

        mode: "0775"

        path: /etc/yum.repos.d/artifactory.repo

      name: "Give permissions to artifactory.repo"



--------------------------------------------------------

Run Emulators.sh

cp centos/Artifactory.repo /etc/yum.repos.d/
mkdir -p /opt/EmulatorService
cp centos/service/RunEmulators.sh /opt/EmulatorService/
chmod +x /opt/EmulatorService/RunEmulators.sh
cp centos/service/Emulator.service /etc/systemd/system/
systemctl enable Emulator.service
...