Как настроить автоматическую (через CI) установку brew на macOS? - PullRequest
0 голосов
/ 21 января 2020

У меня новая Ma c, которая только что запустила установку git. Я хотел бы иметь процесс, который я могу вызвать через CI (он же Jenkins), который установит brew без присмотра. В идеале указанный процесс должен использовать только собственные инструменты, установленные в системе.

1 Ответ

0 голосов
/ 22 января 2020

Все файлы должны находиться в одном каталоге.

файл 1, сохраненный как askpass.sh:

#!/bin/sh
echo $KEYCHAIN_PASSWORD

файл 2, сохраненный как install_brew.sh:

if [ -z ${KEYCHAIN_PASSWORD+x} ]; then
    echo "KEYCHAIN_PASSWORD is unset in calling environment, required to install brew"
    exit 1
fi
set -e
# brew will run some sudo commands, this gives it permission to do so
echo $KEYCHAIN_PASSWORD | sudo -S 'ls'
chmod 700 askpass.sh
export SUDO_ASKPASS=$(pwd)/askpass.sh
# unattended installation mode for brew
CI=1 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ls -l /usr/local/bin/brew # ensure this worked or generate nonzero exit code

Вызов: убедитесь, что в вызывающей среде установлено KEYCHAIN_PASSWORD, затем sh install_brew.sh

...