Я пытаюсь настроить непрерывную интеграцию в частном репозитории github, используя Travis CI для поддержки пакета R. Есть модульные тесты, которые подключаются к SQL, поэтому мне нужно установить ODBC Driver 13 for SQL Server
. Я пробовал несколько подходов со всего Интернета, но безрезультатно. Проблема, которую я получаю, заключается в том, что в какой-то момент Трэвис пытается вызвать сервер ODBC, который возвращает:
[unixODBC][Driver Manager]Data source name not found, and no default driver specified
Итак, вот некоторые решения, которые я пытался не использовать:
- wget https://download.microsoft.com/download/2/E/5/2E58F097-805C-4AB8-9FC6-71288AB4409D/msodbcsql-13.0.0.0.tar.gz -P ..
- tar xvzf ../msodbcsql-13.0.0.0.tar.gz -C ..
- sed -i '14d' ../msodbcsql-13.0.0.0/build_dm.sh
- sed -i '/tmp=/ctmp=/tmp/odbcbuilds' ../msodbcsql-13.0.0.0/build_dm.sh
- ../msodbcsql-13.0.0.0/build_dm.sh --accept-warning
дает:
[0K$ wget https://download.microsoft.com/download/2/E/5/2E58F097-805C-4AB8-9FC6-71288AB4409D/msodbcsql-13.0.0.0.tar.gz -P ..
--2019-03-14 16:28:05-- https://download.microsoft.com/download/2/E/5/2E58F097-805C-4AB8-9FC6-71288AB4409D/msodbcsql-13.0.0.0.tar.gz
Resolving download.microsoft.com (download.microsoft.com)... 23.35.205.15, 2600:1404:27:783::e59, 2600:1404:27:78d::e59
Connecting to download.microsoft.com (download.microsoft.com)|23.35.205.15|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
достаточно честно ... ссылка не работает. Следующий подход:
- sudo su
- sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-xenial-release/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list'
- sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
^ не может претендовать на sudo таким образом, и очевидно, что без sudo ничего не работает. Следующий подход:
addons:
apt:
packages:
- libudunits2-dev
script:
- docker run --net=host -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Passw0rd' -d microsoft/mssql-server-linux:2017-latest
- echo "Running docker for commit $TRAVIS_COMMIT"
Кажется, это тоже не работает. Также пробовал случайные версии докера:
- docker pull microsoft/mssql-server-linux:2017-latest
На данный момент я в основном пытаюсь получить все, что смогу. Любые другие предложения?
РЕДАКТИРОВАТЬ: Вот результат ответа Яна: