конвейер bitbucket с docker, как добавить исходные зависимости из репозитория git - PullRequest
1 голос
/ 15 февраля 2020

Я использую ROS Industrial CI с трубопроводами. Он не может быть собран из-за зависимости от пакета, который я должен собрать из исходного кода.

Обычно я бы клонировал репозиторий git с исходным кодом и просто собрал его. Но я не знаю, как указать эту зависимость от конвейеров.

git clone https://github.com/AprilRobotics/apriltag.git      # Clone Apriltag library
cd april*
cmake .
sudo make install

Буду признателен за помощь

1 Ответ

0 голосов
/ 16 февраля 2020

Хорошо, позвольте мне поделиться с вами своим подходом к этому. Я использую GitLab CI, который, я думаю, может быть похожим.

В моем репозитории у меня есть файл rosinstall , включая пакеты, которые мне нужно собрать из исходного кода.

В моем случае coscr.rosinstall выглядит как

- git:
    local-name: ira_laser_tools
    uri: https://github.com/iralabdisco/ira_laser_tools.git
    version: master

Затем в моем файле .gitlab-ci.yml я обрабатываю его так:

stages:
  - build
  - test

image: osrf/ros:melodic-desktop-full

before_script:
  - apt-get update && apt-get upgrade -y
  - apt-get install -y python-rosinstall python-rosinstall-generator python-wstool build-essential
  - apt-get install -y alsa-utils
  - apt-get clean
  - mkdir -p ~/catkin_ws/src

build:
  stage: build
  script:
    - cd ~/catkin_ws/src 
    - git clone https://gitlab.com/______/cs_monster.git
    - cd ~/catkin_ws 
    - wstool init src src/cs_monster/coscr.rosinstall
    - rosdep install --from-paths src --ignore-src -r -y
    - catkin_make -DCMAKE_BUILD_TYPE=Release

Вы можете видеть, как я использую rosdep , чтобы сделать трюк. Насколько я помню, это работало. В любом случае, я надеюсь, что это может дать вам некоторые подсказки.

...