рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рд╡рд┐рд╡рд░рдг

рдкрд╣рд░реЗрджрд╛рд░ - рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред

рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

  • рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреАрдХреГрдд,
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкрдХрдбрд╝рддрд╛ рд╣реИред
  • рдореБрдХреНрдд,
  • рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрджреНрдпрддрди рдХреА рдЬрд╛рддреА рд╣реИ,
  • рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ,
  • рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕рдореВрд╣реАрдХреГрдд рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
  • рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд┐рддрд┐, рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрд░реЛрдд, рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░, рд╕рд░реНрд╡рд░ рдирд╛рдо рдЖрджрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдИрдПрд▓рдХреЗ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛: рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдИрдПрд▓рдХреЗ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛ рд▓реЙрдЧ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИред рдФрд░ рд╕рдВрддрд░реА рдореЗрдВ, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдирдпрд╛ рдЕрдкрд╡рд╛рдж рдЙрд╕рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ + 1 рд╣реИ

рд╕реЗрдВрдЯреНрд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ.

рдбреЙрдХрд░ рдФрд░ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕реЗрдВрдЯреНрд░реА рдЪрд▓рд╛рдирд╛

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдбреЙрдХрд░ рдФрд░ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдВрдЯреНрд░реА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/getsentry/onpremise. рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХрд▓ рдореЛрдб рдореЗрдВ (рдмрд┐рдирд╛ рдЧрд▓рддреА рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХреЗ) рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛рдПрдВ рд▓реЙрдиреНрдЪ рдХрд░рддреА рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрддрд░реА 10.0.0 рдХреЗ рд▓рд┐рдП):

  • рддрд┐рдерд┐
  • postgres
  • redis
  • рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рд╕рдВрдЪрд╛рд▓рдХ
  • рдХрд╛рдлреНрдХрд╛
  • рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕
  • рдкреНрд░рддреАрдХрд╛рддреНрдордХ

рдпрджрд┐ рдЖрдкрдХреЛ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдХреНрд▓рд╛рдЙрдб рдЙрддреНрдкрд╛рдж рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛ рд╕реЗрдВрдЯреНрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рдкреЛрд╕реНрдЯ рдПрдХ рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕реЗрдВрдЯреНрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд╕реЗрдВрдЯреНрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдЖрд░рдкреАрдПрдордПрд╕ рд╕реЗ рдПрдХ рдпрдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдХреБрдЫ рдкреИрдХреЗрдЬ рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддреЗ рд╣реИрдВ. рдЗрд╕рд▓рд┐рдП, рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рдпрд╣ рдкреЛрд╕реНрдЯ рд╕реЗрдВрдЯреНрд░реА рд╕рдВрд╕реНрдХрд░рдг 9.1.2 рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬрд╝ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реЗрдВрдЯреНрд░реА 10.XY рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдХрдИ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ рдлрд╝рд┐рдХреНрд╕ рд╣реИрдВред

рдЖрд░рдкреАрдПрдо рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рд╕реАрдкреАрдпреВ рд╣реЛрдВрдЧреЗ, рдЙрддрдиреА рд╣реА рддреЗрдЬреА рд╕реЗ рд╕реЗрдорд╛рдлреЛрд░ рдФрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдкреИрдХреЗрдЬ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ

рд╕реЗрд▓рд┐рдирдХреНрд╕ рдмрдВрдж рдХрд░реЗрдВ

рд╕рдореБрджрд╛рдп рдХреЗрд╡рд▓ рддрднреА рдкрдХреНрд╖ рдореЗрдВ рд╣реЛрдЧрд╛ рдЬрдм рдХреЛрдИ рд╕реЗрдВрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рд╕реЗрд▓рд┐рдирдХреНрд╕ рдиреАрддрд┐рдпрд╛рдВ рд▓рд┐рдЦреЗрдЧрд╛ред

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
sudo reboot

рдПрдкреЗрд▓-рд░рд┐рд▓реАрдЬрд╝ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

sudo yum install -y epel-release git

рд╣рдо рдЖрд░рдкреАрдПрдо рдкрд╛рдЗрдк рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ 1рд╕рд╛рдорд╛рдиреНрдп_рдирд┐рд░реНрднрд░рддрд╛.рд╢

echo "Install dependencies"
sudo yum install -y cargo gcc gcc-c++ libffi-devel libjpeg-devel libxml2-devel 
libxslt libxslt-devel make mc openssl-devel python-devel memcached 
python-lxml python-nose python2-pip python34 rpm-build rpmdevtools 
ruby-devel rubygems zlib-devel redis xmlsec1-openssl xmlsec1 
libtool-ltdl-devel xmlsec1-devel xmlsec1-openssl-devel openldap-devel

echo "Build common pip dependencies to rpm by fpm"
gem install --no-document fpm
echo "For chardet==3.0.2 need setuptools>=12"
echo "For cryptography==2.8 need setuptools>=18.5"
fpm -s python -t rpm setuptools==18.5
sudo yum install -y python-setuptools-18.5-1.noarch.rpm
fpm -s python -t rpm --name python2-pip pip==20.0.2
sudo yum install -y python2-pip-20.0.2-1.noarch.rpm

Python-psycopg9.6-рдмрд╛рдЗрдирд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП PostgreSQL 2 рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред рдлрд╝рд╛рдЗрд▓ 2psycopg2-binary.sh

рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ PostgreSQL рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

sudo yum install -y postgresql-devel
fpm -s python -t rpm psycopg2-binary==2.7.7
sudo yum install -y python-psycopg2-binary-2.7.7-1.x86_64.rpm
sudo yum remove -y postgresql-devel postgresql postgresql-libs

рдкрд╛рдпрдерди-рдбреЗрдЯреБрдЯрд┐рд▓ рдЖрд░рдкреАрдПрдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ 3dateutil.sh

#!/bin/bash

echo "Build and install python-dateutil rpm"
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SRPMS,SPECS}
spectool -g -R spec/python-dateutil.spec
wget https://raw.githubusercontent.com/patsevanton/sentry-rpm/master/spec/python-dateutil-system-zoneinfo.patch -P ~/rpmbuild/SOURCES
wget https://raw.githubusercontent.com/patsevanton/sentry-rpm/master/spec/python-dateutil-timelex-string.patch -P ~/rpmbuild/SOURCES
rpmbuild --bb spec/python-dateutil.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-dateutil-2.4.2-1.el7.noarch.rpm

Python-urllib3 rpm рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ 4urllib3.sh

рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рд╢реАрд░реНрд╖рдХ

echo "Build pip dependencies to rpm by fpm for urllib3"
fpm -s python -t rpm pycparser==2.19
sudo yum install -y python-pycparser-2.19-1.noarch.rpm
fpm -s python -t rpm cffi==1.14.0
sudo yum install -y python-cffi-1.14.0-1.x86_64.rpm
fpm -s python -t rpm cryptography==2.8
sudo yum install -y python-cryptography-2.8-1.x86_64.rpm
fpm -s python -t rpm idna==2.7
sudo yum install -y python-idna-2.7-1.noarch.rpm
sudo chmod +r /usr/lib/python2.7/site-packages/idna-2.7-py2.7.egg-info/PKG-INFO
fpm -s python -t rpm pyOpenSSL==19.1.0
sudo yum install -y python-pyopenssl-19.1.0-1.noarch.rpm
fpm -s python -t rpm pbr==5.4.4
sudo yum install -y python-pbr-5.4.4-1.noarch.rpm
fpm -s python -t rpm mock==2.0.0
sudo yum install -y python-mock-2.0.0-1.noarch.rpm
fpm -s python -t rpm py==1.8.1
sudo yum install -y python-py-1.8.1-1.noarch.rpm
fpm -s python -t rpm six==1.10.0
sudo yum install -y python-six-1.10.0-1.noarch.rpm
fpm -s python -t rpm pluggy==0.6.0
sudo yum install -y python-pluggy-0.6.0-1.noarch.rpm
fpm -s python -t rpm attrs==19.3.0
sudo yum install -y python-attrs-19.3.0-1.noarch.rpm
fpm -s python -t rpm more-itertools==5.0.0
sudo yum install -y python-more-itertools-5.0.0-1.noarch.rpm
fpm -s python -t rpm pytest==3.5.1
sudo yum install -y python-pytest-3.5.1-1.noarch.rpm

echo "Build urllib rpm"
spectool -g -R spec/urllib3-1.24.2.spec
sudo yum-builddep -y spec/urllib3-1.24.2.spec
rpmbuild --bb spec/urllib3-1.24.2.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-urllib3-1.24.2-1.el7.noarch.rpm

рд╣рдо рд╢реЗрд╖ рдкрд╛рдЗрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЖрд░рдкреАрдПрдо рдореЗрдВ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ 5other_dependency.sh

рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рд╢реАрд░реНрд╖рдХ

echo "Build rpm by fpm"
fpm -s python -t rpm jmespath==0.9.5
sudo yum install -y python-jmespath-0.9.5-1.noarch.rpm
fpm -s python -t rpm amqp==1.4.9
sudo yum install -y python-amqp-1.4.9-1.noarch.rpm
fpm -s python -t rpm anyjson==0.3.3
sudo yum install -y python-anyjson-0.3.3-1.noarch.rpm
fpm -s python -t rpm billiard==3.3.0.23
sudo yum install -y python-billiard-3.3.0.23-1.x86_64.rpm
fpm -s python -t rpm docutils==0.16
sudo yum install -y python-docutils-0.16-1.noarch.rpm
fpm -s python -t rpm Pillow==4.2.1
sudo yum install -y python-pillow-4.2.1-1.x86_64.rpm
fpm -s python -t rpm botocore==1.5.70
sudo yum install -y python-botocore-1.5.70-1.noarch.rpm
fpm -s python -t rpm boto3==1.4.5
sudo yum install -y python-boto3-1.4.5-1.noarch.rpm
fpm -s python -t rpm chardet==3.0.2
sudo yum install -y python-chardet-3.0.2-1.noarch.rpm
fpm -s python -t rpm croniter==0.3.31
sudo yum install -y python-croniter-0.3.31-1.noarch.rpm
fpm -s python -t rpm cssselect==1.1.0
sudo yum install -y python-cssselect-1.1.0-1.noarch.rpm
fpm -s python -t rpm cssutils==0.9.10
sudo yum install -y python-cssutils-0.9.10-1.noarch.rpm
fpm -s python -t rpm django-crispy-forms==1.4.0
sudo yum install -y python-django-crispy-forms-1.4.0-1.noarch.rpm
fpm -s python -t rpm django-jsonfield==0.9.13
sudo yum install -y python-django-jsonfield-0.9.13-1.noarch.rpm
fpm -s python -t rpm django-picklefield==0.3.2
sudo yum install -y python-django-picklefield-0.3.2-1.noarch.rpm
fpm -s python -t rpm django-sudo==2.1.0
sudo yum install -y python-django-sudo-2.1.0-1.noarch.rpm
fpm -s python -t rpm django-templatetag-sugar==1.0
sudo yum install -y python-django-templatetag-sugar-1.0-1.noarch.rpm
fpm -s python -t rpm djangorestframework==2.4.8
sudo yum install -y python-djangorestframework-2.4.8-1.noarch.rpm
fpm -s python -t rpm email-reply-parser==0.2.0
sudo yum install -y python-email_reply_parser-0.2.0-1.noarch.rpm
fpm -s python -t rpm enum34==1.1.9
sudo yum install -y python-enum34-1.1.9-1.noarch.rpm
fpm -s python -t rpm functools32==3.2.3.post2
sudo yum install -y python-functools32-3.2.3_2-1.noarch.rpm
fpm -s python -t rpm futures==3.3.0
sudo yum install -y python-futures-3.3.0-1.noarch.rpm
fpm -s python -t rpm hiredis==0.1.6
sudo yum install -y python-hiredis-0.1.6-1.x86_64.rpm
fpm -s python -t rpm honcho==1.0.1
sudo yum install -y python-honcho-1.0.1-1.noarch.rpm
fpm -s python -t rpm httplib2==0.17.0
sudo yum install -y python-httplib2-0.17.0-1.noarch.rpm
fpm -s python -t rpm jsonschema==2.6.0
sudo yum install -y python-jsonschema-2.6.0-1.noarch.rpm
fpm -s python -t rpm kombu==3.0.35
sudo yum install -y python-kombu-3.0.35-1.noarch.rpm
fpm -s python -t rpm celery==3.1.18
sudo yum install -y python-celery-3.1.18-1.noarch.rpm
fpm -s python -t rpm loremipsum==1.0.5
sudo yum install -y python-loremipsum-1.0.5-1.noarch.rpm
fpm -s python -t rpm lxml==4.5.0
sudo yum install -y python-lxml-4.5.0-1.x86_64.rpm
fpm -s python -t rpm milksnake==0.1.5
sudo yum install -y python-milksnake-0.1.5-1.noarch.rpm
fpm -s python -t rpm mistune==0.8.4
sudo yum install -y python-mistune-0.8.4-1.noarch.rpm
fpm -s python -t rpm mmh3==2.3.1
sudo yum install -y python-mmh3-2.3.1-1.x86_64.rpm
fpm -s python -t rpm exam==0.10.6
sudo yum install -y python-exam-0.10.6-1.noarch.rpm
fpm -s python -t rpm msgpack==0.6.2
sudo yum install -y python-msgpack-0.6.2-1.x86_64.rpm
fpm -s python -t rpm oauth2==1.9.0.post1
sudo yum install -y python-oauth2-1.9.0.post1-1.noarch.rpm
fpm -s python -t rpm oauthlib==3.1.0
sudo yum install -y python-oauthlib-3.1.0-1.noarch.rpm
fpm -s python -t rpm parsimonious==0.8.0
sudo yum install -y python-parsimonious-0.8.0-1.noarch.rpm
fpm -s python -t rpm requests==2.20.1
sudo yum install -y python-requests-2.20.1-1.noarch.rpm
fpm -s python -t rpm petname==2.0
sudo yum install -y python-petname-2.0-1.noarch.rpm
fpm -s python -t rpm python-utils==2.3.0
sudo yum install -y python-utils-2.3.0-1.noarch.rpm
fpm -s python -t rpm progressbar2==3.10.1
sudo yum install -y python-progressbar2-3.10.1-1.noarch.rpm
fpm -s python -t rpm pytest-django==2.9.1
sudo yum install -y python-pytest-django-2.9.1-1.noarch.rpm
fpm -s python -t rpm pytest-html==1.9.0
sudo yum install -y python-pytest-html-1.9.0-1.noarch.rpm
fpm -s python -t rpm python-memcached==1.59
sudo yum install -y python-memcached-1.59-1.noarch.rpm
fpm -s python -t rpm python-openid==2.2.5
sudo yum install -y python-openid-2.2.5-1.noarch.rpm
fpm -s python -t rpm python-u2flib-server==4.0.1
sudo yum install -y python-u2flib-server-4.0.1-1.noarch.rpm
fpm -s python -t rpm qrcode==5.3
sudo yum install -y python-qrcode-5.3-1.noarch.rpm
fpm -s python -t rpm querystring-parser==1.2.4
sudo yum install -y python-querystring_parser-1.2.4-1.noarch.rpm
fpm -s python -t rpm redis==2.10.5
sudo yum install -y python-redis-2.10.5-1.noarch.rpm
fpm -s python -t rpm rb==1.7
sudo yum install -y python-rb-1.7-1.noarch.rpm
fpm -s python -t rpm redis-py-cluster==1.3.4
sudo yum install -y python-redis-py-cluster-1.3.4-1.noarch.rpm
fpm -s python -t rpm requests-oauthlib==0.3.3
sudo yum install -y python-requests-oauthlib-0.3.3-1.noarch.rpm
fpm -s python -t rpm percy==2.0.2
sudo yum install -y python-percy-2.0.2-1.noarch.rpm
fpm -s python -t rpm selenium==3.141.0
sudo yum install -y python-selenium-3.141.0-1.noarch.rpm
fpm -s python -t rpm semaphore==0.4.65
sudo yum install -y python-semaphore-0.4.65-1.x86_64.rpm
fpm -s python -t rpm sentry-sdk==0.14.1
sudo yum install -y python-sentry-sdk-0.14.1-1.noarch.rpm
fpm -s python -t rpm setproctitle==1.1.10
sudo yum install -y python-setproctitle-1.1.10-1.x86_64.rpm
fpm -s python -t rpm simplejson==3.8.2
sudo yum install -y python-simplejson-3.8.2-1.x86_64.rpm
fpm -s python -t rpm sqlparse==0.1.19
sudo yum install -y python-sqlparse-0.1.19-1.noarch.rpm
fpm -s python -t rpm statsd==3.1
sudo yum install -y python-statsd-3.1-1.noarch.rpm
fpm -s python -t rpm strict-rfc3339==0.7
sudo yum install -y python-strict-rfc3339-0.7-1.noarch.rpm
fpm -s python -t rpm structlog==16.1.0
sudo yum install -y python-structlog-16.1.0-1.noarch.rpm
fpm -s python -t rpm symbolic==6.1.4
sudo yum install -y python-symbolic-6.1.4-1.x86_64.rpm
fpm -s python -t rpm toronado==0.0.11
sudo yum install -y python-toronado-0.0.11-1.noarch.rpm
fpm -s python -t rpm ua-parser==0.7.3
sudo yum install -y python-ua-parser-0.7.3-1.noarch.rpm
fpm -s python -t rpm uwsgi==2.0.18
sudo yum install -y python-uwsgi-2.0.18-1.noarch.rpm
fpm -s python -t rpm -n PyYAML pyyaml==3.11
sudo yum install -y PyYAML-3.11-1.x86_64.rpm
fpm -s python -t rpm django-auth-ldap==1.2.17
sudo yum install -y python-django-auth-ldap-1.2.17-1.noarch.rpm

рд╣рдо рдЖрд░рдкреАрдПрдо рд╕рдВрддрд░реА рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ 6sentry.sh

echo "Install nodejs and yarn"
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install -y nodejs
sudo sed -e '/nodesource-source/,+6d' -i /etc/yum.repos.d/nodesource-el7.repo
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install -y yarn

cp spec/config.yml spec/sentry.conf.py ~/rpmbuild/SOURCES
cp spec/sentry-cron.service spec/sentry-web.service spec/sentry-worker.service ~/rpmbuild/SOURCES
spectool -g spec/sentry-9.1.2.spec
sudo yum-builddep -y spec/sentry-9.1.2.spec
rpmbuild -bb spec/sentry-9.1.2.spec
sudo yum install -y ~/rpmbuild/RPMS/noarch/python-sentry-9.1.2-1.el7.noarch.rpm

рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрддрд░реА рдЖрд░рдкреАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рд╕реЗрд▓рд┐рдирдХреНрд╕ рдмрдВрдж рдХрд░реЗрдВ

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
#### sudo reboot

рдПрдкреЗрд▓-рд░рд┐рд▓реАрдЬрд╝ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

sudo yum install -y epel-release git libjpeg-turbo redis
sudo systemctl start redis

PostgreSQL 9.6 рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред рдлрд╝рд╛рдЗрд▓ 7postgresql.sh

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql96 postgresql96-server postgresql96-contrib
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
sudo systemctl start postgresql-9.6
sudo -i -u postgres psql -c "create user sentry with password 'password';"
sudo -i -u postgres psql -c "create database sentry with owner sentry;"
sudo -i -u postgres psql -c "alter role sentry superuser;"

# TODO: ╨Я╤А╨╛╨▓╨╡╤А╨╕╤В╤М ╨▒╨╡╨╖ ╨┐╤А╨░╨▓ superuser ╨┤╨╗╤П ╤А╨╛╨╗╨╕ sentry
#sudo -i -u postgres psql -c "alter role sentry nosuperuser;"
#sudo -i -u postgres psql -c "CREATE SCHEMA main AUTHORIZATION sentry;"

рд╣рдо рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ (рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдмрдирд╛рдирд╛) рдФрд░ рд╕реЗрд╡рд╛рдПрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ 8start_sentry.sh

sudo systemctl start redis
sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ upgrade
sudo systemctl start sentry-worker
sudo systemctl start sentry-cron
sudo systemctl start sentry-web

рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрддрд░реА рдкреНрд░рд╢рд╛рд╕рдХ рдмрдирд╛рдирд╛

https://forum.sentry.io/t/noninteractive-first-time-setup-of-user-via-upgrade/164

sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser 

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рд╕реНрдерд╛рдкрдирд╛, рдЖрд▓рд╕реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕

рд╕реЗрд▓рд┐рдирдХреНрд╕ рдмрдВрдж рдХрд░реЗрдВ

sudo sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
sudo reboot

рд╕рдВрддрд░реА рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ

sudo yum install -y epel-release git
git clone https://github.com/patsevanton/sentry-rpm.git
cd sentry-rpm
./1general_dependencies.sh
./2psycopg2-binary.sh
./3dateutil.sh
./4urllib3.sh
./5other_dependencies.sh
./6sentry.sh
╨Ъ╨╛╨┐╨╕╤А╤Г╨╡╨╝ rpm ╨╕╨╖ rpmbuild/RPMS ╨╕ ╨║╨╛╤А╨╜╤П sentry-rpm ╨╜╨░ ╤Ж╨╡╨╗╨╡╨▓╨╛╨╣ ╤Б╨╡╤А╨▓╨╡╤А. ╨б╨╛╨╖╨┤╨░╨╡╨╝ yum ╤А╨╡╨┐╨╛. ╨г╤Б╤В╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╨▓╤Б╨╡ ╤Б╨╛╨▒╤А╨░╨╜╨╜╤Л╨╡ rpm ╨┐╨░╨║╨╡╤В╤Л.
./7postgresql.sh
./8start_sentry.sh

рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрддрд░реА рдкреНрд░рд╢рд╛рд╕рдХ рдмрдирд╛рдирд╛

https://forum.sentry.io/t/noninteractive-first-time-setup-of-user-via-upgrade/164

sudo -i -u sentry /usr/bin/sentry --config /etc/sentry/ createuser 

рдЕрдкрд╡рд╛рдж рднреЗрдЬрдиреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг

рд╣рдо рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред рдЬрд╛рд╡рд╛ рдФрд░ рдорд╛рд╡реЗрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

sudo yum install -y java-1.8.0-openjdk-devel git
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo yum -y install apache-maven
git clone https://github.com/getsentry/examples.git
cd examples/java/basic
mvn compile exec:java

рдЕрдм рд╣рдореЗрдВ SENTRY_DSN рдкрд╛рд╕ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

SENTRY_DSN=https://public:private@host:port/1 mvn exec:java

рдЕрдм рд╣рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП SENTRY_DSN рдХреЛ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ред

рдЪрд▓реЛ рд╕рдВрддрд░реА рдХреЗ рдкрд╛рд╕ рдЪрд▓рддреЗ рд╣реИрдВ. рдЪрд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ internal.

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдпрд╛

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдЪрд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдХреНрд▓рд╛рдЗрдВрдЯ рдХреБрдВрдЬреА (рдбреАрдПрд╕рдПрди) рдкрд░ рдЬрд╛рдПрдВред

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдбреАрдПрд╕рдПрди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдпрд╣ SENTRY_DSN рд╣реИ.

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рд╣рдо рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред

SENTRY_DSN=http://[email protected]:9000/1 mvn exec:java

рд╣рдо рдпреЗ рддрд╕реНрд╡реАрд░ рджреЗрдЦрддреЗ рд╣реИрдВ.

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдЕрдЧрд░ рд╣рдо рдЬрд╛рддреЗ рд╣реИрдВ UnsupportedOperationException, рддреЛ рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВрдЧреЗред

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рдЖрд░рдкреАрдПрдо рдореЗрдВ рд╕рдВрддрд░реА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдЖрд░рдкреАрдПрдо рд╕реЗ рд╕рдВрддрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрдЯрдЕрдк

рд╕реЗрдВрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдЯ рдмрдирд╛рдИ рдЧрдИ

https://t.me/sentry_ru

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдкрд┐рд╕реЛрдб рдореЗрдВ:

  • рдПрд▓рдбреАрдПрдкреА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╣реА рддреИрдпрд╛рд░ рд╣реЛ рдЪреБрдХреА рд╣реИ 9sentry-ldap-auth.sh
  • рдХреБрдЫ рдЫреЛрдЯреЗ рд░рд┐рд▓реАрдЬрд╝ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрддрд░реА рд╕рдВрд╕реНрдХрд░рдг 10.0.X рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░:

https://github.com/patsevanton/sentry-rpm

рд╕реНрд░реЛрдд: www.habr.com