2015-12-03 2 views
0

Я работаю над серверным приложением, используя BSD Sockets, его проект C и был построен на Heroku, используя собственный buildpack.Приложение Heroku C. Сервер, использующий сокеты TCP/UDP

Я не могу понять, как выполнить двоичный код впоследствии?

buildpack содержит:

bin/ 
    detect.sh 
    compile.sh 
    release.sh 

release.sh

#!/usr/bin/env bash 
# bin/release <build-dir> 
cat <<EOF 
--- 
config_vars: 
PATH: /app/bin:/usr/local/bin:/usr/bin:/bin 
EOF 

Двоичный строит штрафа использованием make как сообщалось в ленте активности приборной панели.

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

EDIT: Я добавил PROCFILE и запустить исполняемый файл содержимое PROCFILE являются:

spinup: bin/serverUDP 1071 

serverUDP это имя бинарного файла внутри бен/папки приложения.

EDIT:

бревенчатые:

-----> Fetching set buildpack https://github.com/damorton/heroku-buildpack-c.git... done 
-----> C app detected 
-----> Compiling with Make 
make: `vendor/bin/busltee' is up to date. 
-----> Discovering process types 
     Procfile declares types -> spinup 
-----> Compressing... done, 4K 
-----> Launching... done, v20 
     https://hangman-udp.herokuapp.com/ deployed to Heroku 

Журналы:

2015-12-04T10:45:25.977074+00:00 heroku[spinup.1]: Process exited with status 0 
2015-12-04T10:45:25.992332+00:00 heroku[spinup.1]: State changed from up to crashed 
2015-12-04T10:51:53.697297+00:00 heroku[api]: Deploy ebe93d8 by [email protected] 
2015-12-04T10:51:53.697370+00:00 heroku[api]: Release v21 created by [email protected] 
2015-12-04T10:51:55.209687+00:00 heroku[spinup.1]: Starting process with command `bin/serverUDP 1071` 
2015-12-04T10:51:55.814271+00:00 heroku[spinup.1]: State changed from starting to up 
2015-12-04T10:51:57.750368+00:00 heroku[spinup.1]: State changed from up to crashed 

Команда после развёртывания:

heroku ps:scale spinup=1 

ответ

0

я узнал, что Procfile используется для выполнения двоичного файла после сборки. Проблема, которую я имел тогда, не была связана с исполняемым двоичным кодом, это было то, что двоичный файл не был построен. Поэтому для установки cmake я использовал сборку cmake. Затем я использовал cmake для создания моего проекта. Все отработано на стороне сборки, за исключением ссылки на относительный каталог для общих библиотек.

Для тех, кто с той же проблемой:

  • Используйте buildpacks для cmake и затем c
  • Использование Procfile для выполнения двоичная с аргументами после создания
0

Предполагая, что он построен и успешно развернут один дино должен Лоа d пропустите и выполните команду. Чтобы масштабировать и/или изменять конфигурацию dyno, вам необходимо выдать команду с выбранным вами параметром. Например:

$ heroku ps:scale web=2 queue=1 

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

$heroku ps:scale web=2:standard-2x queue=1 
+0

Моя проблема заключается в том, что я не могу сказать если dyno загрузил двоичный файл или его запуск. – David

+0

Запуск 'heroku ps' говорит мне, что процесс разбился. – David

+0

Есть ли у вас журналы или отвалы, которые дают какие-либо сведения о сбое процесса? –

Смежные вопросы