Feature multi distro (#4)
This commit is contained in:
parent
36d2e4cb89
commit
56d1cfd225
|
@ -10,8 +10,10 @@ Your SIP PBX should be comaptible with `L16@48000` or `OPUS@48000` voice codec.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
1. [Download](https://ci.appveyor.com/api/projects/Infactum/tg2sip/artifacts/tg2sip.zip?branch=master) prebuild version from CI or compile it yourself.
|
1. Download prebuild versions for supported OS from CI or compile it yourself.
|
||||||
Prebuild binaries have been tested in Ubuntu 18.04 Bionic and require `libopus0` package installed.
|
[Ubuntu 18.04 Bionic](https://ci.appveyor.com/api/projects/Infactum/tg2sip/artifacts/tg2sip_bionic.zip?branch=master&job=Environment%3A%20target_name%3DUbuntu%20Bionic%2C%20docker_tag%3Dbionic)
|
||||||
|
[CentOS 7](https://ci.appveyor.com/api/projects/Infactum/tg2sip/artifacts/tg2sip_centos7.zip?branch=master&job=Environment%3A%20target_name%3DUbuntu%20Bionic%2C%20docker_tag%3Dcentos7)
|
||||||
|
Prebuild binaries requires OPUS libraries (`libopus0` for Ubuntu, `opus` for CentOS, etc).
|
||||||
2. Obtain `api_id` and `api_hash` tokens from [this](https://my.telegram.org) page and put them in `settings.ini` file.
|
2. Obtain `api_id` and `api_hash` tokens from [this](https://my.telegram.org) page and put them in `settings.ini` file.
|
||||||
3. Login into telegram with `gen_db` app
|
3. Login into telegram with `gen_db` app
|
||||||
4. Set SIP server settings in `settings.ini`
|
4. Set SIP server settings in `settings.ini`
|
||||||
|
|
34
appveyor.yml
34
appveyor.yml
|
@ -1,32 +1,41 @@
|
||||||
version: 1.0.0+{build}
|
version: 1.0.0+{build}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
- Ubuntu
|
- Previous Ubuntu
|
||||||
|
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
configuration: Release
|
configuration: Release
|
||||||
|
|
||||||
platform: x64
|
platform: x64
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
DOCKER_LOGIN: infactum
|
global:
|
||||||
DOCKER_PASSWORD:
|
docker_login: infactum
|
||||||
|
docker_password:
|
||||||
secure: wWPsUiEtw8rfnjX2/Y3/AA==
|
secure: wWPsUiEtw8rfnjX2/Y3/AA==
|
||||||
DOCKER_IMAGE: infactum/tg2sip-builder
|
docker_image: infactum/tg2sip-builder
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
- TARGET_PLATFORM: x64
|
- target_name: Ubuntu Bionic
|
||||||
|
docker_tag: bionic
|
||||||
|
|
||||||
|
- target_name: CentOS 7
|
||||||
|
docker_tag: centos7
|
||||||
|
|
||||||
init:
|
init:
|
||||||
- sh: |
|
- sh: |
|
||||||
docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
|
docker login -u "$docker_login" -p "$docker_password"
|
||||||
docker pull $DOCKER_IMAGE
|
docker pull "$docker_image":"$docker_tag"
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- sh: docker build buildenv/ --cache-from $DOCKER_IMAGE -t $DOCKER_IMAGE:latest
|
- sh: docker build buildenv/ -f buildenv/Dockerfile."$docker_tag" --cache-from "$docker_image":"$docker_tag" -t "$docker_image":"$docker_tag"
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- sh: >-
|
- sh: >-
|
||||||
mkdir build;
|
mkdir build;
|
||||||
docker run --rm -v $(pwd):/src $DOCKER_IMAGE /bin/bash -c "
|
docker run --rm -v "$(pwd)":/src "$docker_image" /bin/bash -c "
|
||||||
mkdir build && cd build;
|
mkdir build && cd build;
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release /src;
|
cmake -DCMAKE_BUILD_TYPE=Release /src;
|
||||||
cmake --build .;
|
cmake --build .;
|
||||||
|
@ -37,8 +46,5 @@ build_script:
|
||||||
7z a tg2sip.zip ./build/tg2sip ./build/gen_db ./settings.ini;
|
7z a tg2sip.zip ./build/tg2sip ./build/gen_db ./settings.ini;
|
||||||
|
|
||||||
after_build:
|
after_build:
|
||||||
- sh: docker push $DOCKER_IMAGE
|
- sh: docker push "$docker_image":"$docker_tag"
|
||||||
|
- sh: appveyor PushArtifact tg2sip.zip -FileName tg2sip_"$docker_tag".zip -DeploymentName "TG2SIP $target_name"
|
||||||
artifacts:
|
|
||||||
- path: tg2sip.zip
|
|
||||||
name: TG2SIP Ubuntu Bionic
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
FROM centos:7 as builder
|
||||||
|
|
||||||
|
# https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
|
||||||
|
RUN yum -y install centos-release-scl yum-utils \
|
||||||
|
&& yum-config-manager --enable rhel-server-rhscl-7-rpms \
|
||||||
|
&& yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++
|
||||||
|
|
||||||
|
RUN yum install -y \
|
||||||
|
make \
|
||||||
|
git wget \
|
||||||
|
zlib-devel opus-devel openssl-devel gperf \
|
||||||
|
pkgconfig ccache gperf unzip
|
||||||
|
|
||||||
|
RUN wget https://cmake.org/files/v3.9/cmake-3.9.6-Linux-x86_64.sh \
|
||||||
|
&& sh cmake-3.9.6-Linux-x86_64.sh --prefix=/usr --exclude-subdir
|
||||||
|
|
||||||
|
COPY tdlib_header.patch /
|
||||||
|
COPY tdlib_threadname.patch /
|
||||||
|
|
||||||
|
RUN source /opt/rh/devtoolset-7/enable \
|
||||||
|
&& git clone https://github.com/tdlib/td.git \
|
||||||
|
&& cd td \
|
||||||
|
&& git reset --hard v1.2.0 \
|
||||||
|
&& git apply /tdlib_header.patch \
|
||||||
|
&& git apply /tdlib_threadname.patch \
|
||||||
|
&& mkdir build \
|
||||||
|
&& cd build \
|
||||||
|
&& cmake -DCMAKE_BUILD_TYPE=Release .. \
|
||||||
|
&& cmake --build . --target install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf td
|
||||||
|
|
||||||
|
COPY config_site.h /
|
||||||
|
|
||||||
|
RUN source /opt/rh/devtoolset-7/enable \
|
||||||
|
&& git clone https://github.com/Infactum/pjproject.git \
|
||||||
|
&& cd pjproject \
|
||||||
|
&& cp /config_site.h pjlib/include/pj \
|
||||||
|
&& ./configure --disable-sound CFLAGS="-O3 -DNDEBUG" \
|
||||||
|
&& make dep && make && make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf pjproject
|
||||||
|
|
||||||
|
RUN source /opt/rh/devtoolset-7/enable \
|
||||||
|
&& git clone -n https://github.com/gabime/spdlog.git \
|
||||||
|
&& cd spdlog \
|
||||||
|
&& git checkout tags/v0.17.0 \
|
||||||
|
&& mkdir build \
|
||||||
|
&& cd build \
|
||||||
|
&& cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_BUILD_EXAMPLES=OFF -DSPDLOG_BUILD_TESTING=OFF .. \
|
||||||
|
&& cmake --build . --target install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf spdlog
|
Loading…
Reference in New Issue