У меня есть конвейер CI gitlab, где я хочу настроить базу данных Oracle, добавив коммерческое программное обеспечение для картриджей данных, необходимое для некоторых автоматических тестов.
В настоящее время у меня есть рабочий конвейер на gitlab.com, использующий общий раннер, где я получаю запущенный Oracle 12c в качестве службы, но я не уверен в стратегии расширения этого для добавления картриджа данных. Установка картриджа включает в себя:
- Копирование файлов в контейнер, где работает Oracle
- Изменение файла listener.ora и tnsnames.ora контейнера
- Запуск прослушивателя extproc, используемого картриджем
Я могу делать это, когда у меня есть доступ к bash на работающем контейнере, но при работе в качестве службы в конвейере gitlab я не уверен, как лучше всего к этому подойти.
Вот соответствующая часть моего gitlab-ci.yml
файла:
image: ruby:2.5
services:
- name: store/oracle/database-enterprise:12.2.0.1
alias: oraclesvc
before_script:
# Install oracle instant client.
# Verify via sqlplus that the oraclesvc database is up and functional.
# I can successfully interact with the db here.
Как я могу внести эти изменения в контейнер oraclesvc?