Якщо підходити до цього більш професійно, то після збірки і перед розгортанням проєкту можна додати автоматичне тестування, публікацію артефактів TeamCity (файлів, які можна використовувати в інших конфігураціях або кроках). Також можна робити своі темплейти білд конфігів і засновувати нові конфігі на них, тоді можна буде легко додати якийсь крок з додатковим тестом, і це піде до всіх білд конфігів які засновані на цьому темплейті.
Тімсіті складається з сервера і агентів. Сервер містить в собі всі конфіги, а білди запускаються на агентах, їх може бути багато. Наприклад це можуть бути різні машини на різних архітектурах процесору якщо це потрібно для версіювання білду під різні системи.
Цей інструмент є безплатним але є ліміт по кількості агентів. Можна його запустити у себе локально. Я собі створив репозиторій де прописав пару додаткових нюансів в конфігураціі щоб запускати тімсіті в докері, і щоб він мав доступ до цього докеру і міг там розгортати мої проекти.
#CICD #workflow #docker
Тімсіті складається з сервера і агентів. Сервер містить в собі всі конфіги, а білди запускаються на агентах, їх може бути багато. Наприклад це можуть бути різні машини на різних архітектурах процесору якщо це потрібно для версіювання білду під різні системи.
Цей інструмент є безплатним але є ліміт по кількості агентів. Можна його запустити у себе локально. Я собі створив репозиторій де прописав пару додаткових нюансів в конфігураціі щоб запускати тімсіті в докері, і щоб він мав доступ до цього докеру і міг там розгортати мої проекти.
#CICD #workflow #docker
👍2❤1
Продовжуємо серію постів про корисні інструменти, якими користуюся, і сьогодні розповім про Airflow.
Якщо коротко то Airflow це cron на максималках.
Якщо більш детально то це платформа для автоматизації, управління і моніторингу складних робочих процесів (workflows). Airflow дозволяє створювати складні пайплайни, враховуючи залежності між завданнями, їх повторення, а також надає можливість моніторити та керувати їх виконанням через веб-інтерфейс.
Типові сценарії використання:
* ETL-процеси (завантаження, перетворення та збереження даних).
* Автоматизація аналітичних та машинних алгоритмів.
* Інтеграція різних сервісів та обробка даних з кількох джерел.
* Регулярний запуск скриптів для моніторингу або обслуговування систем.
У мене він моніторить нові відосіки на ютуб каналі і скидає в телеграм чат, а також будує щотижневі звіти з бази даних для клієнта і закидає на гугл таблиці (це все звісно в докері 🌚)
#workflow #airflow #docker
Якщо коротко то Airflow це cron на максималках.
Якщо більш детально то це платформа для автоматизації, управління і моніторингу складних робочих процесів (workflows). Airflow дозволяє створювати складні пайплайни, враховуючи залежності між завданнями, їх повторення, а також надає можливість моніторити та керувати їх виконанням через веб-інтерфейс.
Типові сценарії використання:
* ETL-процеси (завантаження, перетворення та збереження даних).
* Автоматизація аналітичних та машинних алгоритмів.
* Інтеграція різних сервісів та обробка даних з кількох джерел.
* Регулярний запуск скриптів для моніторингу або обслуговування систем.
У мене він моніторить нові відосіки на ютуб каналі і скидає в телеграм чат, а також будує щотижневі звіти з бази даних для клієнта і закидає на гугл таблиці (це все звісно в докері 🌚)
#workflow #airflow #docker
👍4🤔1
openTank
а я отримую повідомлення в Telegram про успішне оновлення проекту на проді
Ось цей момент взагалі дуже простий
Не треба інсталити жодних телеграм-бібліотек і запускати свій проект.
Треба тільки мати програму CURL і запустити команду на пост реквест, все що треба мати це токен для свого бота і знати свій айді (або айді чату куди треба вислати повідомлення)
А якщо є щось простіше то дайте знати в коментарях
Не треба інсталити жодних телеграм-бібліотек і запускати свій проект.
Треба тільки мати програму CURL і запустити команду на пост реквест, все що треба мати це токен для свого бота і знати свій айді (або айді чату куди треба вислати повідомлення)
curl -X POST \
-H 'Content-Type: application/json' \
-d '{"chat_id": "%CHAT_ID%", "text": “Супертекст” \
https://api.telegram.org/bot%TELEGRAM_TOKEN%/sendMessage
А якщо є щось простіше то дайте знати в коментарях
👍1
Їдемо далі
Nginx Proxy Manager
чудовий інструмент яким я менеджерю трафік на своі проекти. Ідея полягає в тому що він перекеровує підключення на різні порти. Тобто все приходить на 1 місце а йде вже там де треба, попутно можна обгорнути трафік в https і зробити http сервіси захищеними, і ще й настроїти автовідновлення ssl сертифікату (letsencrypt).
В моєму випадку я маю домен і 3 веб сторінки в докер контейнерах.
Без цього інструмента використання моіх проектів виглядало би так:
А з проксі я настроїв перекеровувати піддомен, в такому випадку вистачить просто вписати адресу в браузері:
Переваги які я маю з цього це і ссл сертифікат який автоматично додається, і на сервері маю відкрити тільки 1 порт в файрволі замість всіх під кожен проект. І ще багато настройок доступів (по айпі наприклад).
#docker
Nginx Proxy Manager
чудовий інструмент яким я менеджерю трафік на своі проекти. Ідея полягає в тому що він перекеровує підключення на різні порти. Тобто все приходить на 1 місце а йде вже там де треба, попутно можна обгорнути трафік в https і зробити http сервіси захищеними, і ще й настроїти автовідновлення ssl сертифікату (letsencrypt).
В моєму випадку я маю домен і 3 веб сторінки в докер контейнерах.
service1 - port 1000
service2 - port 1001
service3 - port 1002
Без цього інструмента використання моіх проектів виглядало би так:
opentank.com:1000
opentank.com:1001
opentank.com:1001
А з проксі я настроїв перекеровувати піддомен, в такому випадку вистачить просто вписати адресу в браузері:
service1.opentank.com
service2.opentank.com
service3.opentank.com
Переваги які я маю з цього це і ссл сертифікат який автоматично додається, і на сервері маю відкрити тільки 1 порт в файрволі замість всіх під кожен проект. І ще багато настройок доступів (по айпі наприклад).
#docker
👍2
Продовжую серію постів про корисні інструменти, якими користуюся, і сьогодні розповім про Tailscale.
Tailscale — це інструмент для створення приватної мережі між пристроями (VPN), він більш сфокусований не як джерело виходу в інтернет з іншого айпі, а як інструмент обєднання девайсів і серверів в одну мережу. Легко підключається на будь-якому пристрої: сервері, NAS, чи навіть як плагін для Home Assistant. У мене, наприклад, Tailscale стоїть на сервері, в Home Assistant і на NAS, і все це інтегровано так, що маю доступ до всього цього з телефону або ноутбука з будь-якої мережі, хоч з іншого кінця світу.
Основна перевага — простота налаштування. Підключаєш пристрої через один акаунт, і все: тепер сервер, NAS, Home Assistant, пк, мобільник виглядають, як ніби вони в одній мережі. Ніякого шаманства з портами і статичнийх айпі у провайдера. Все безпечно, надійно і мінімум налаштувань. В безплатній версіі обмеження на 5 девайсів, реєстрація через гугл аккаунт в 1 клік.
З мінусів це треба на кожному девайсі раз на кілька місяців логінитися бо вибиває аккаунт.
#tailscale #vpn #homeassistant
Tailscale — це інструмент для створення приватної мережі між пристроями (VPN), він більш сфокусований не як джерело виходу в інтернет з іншого айпі, а як інструмент обєднання девайсів і серверів в одну мережу. Легко підключається на будь-якому пристрої: сервері, NAS, чи навіть як плагін для Home Assistant. У мене, наприклад, Tailscale стоїть на сервері, в Home Assistant і на NAS, і все це інтегровано так, що маю доступ до всього цього з телефону або ноутбука з будь-якої мережі, хоч з іншого кінця світу.
Основна перевага — простота налаштування. Підключаєш пристрої через один акаунт, і все: тепер сервер, NAS, Home Assistant, пк, мобільник виглядають, як ніби вони в одній мережі. Ніякого шаманства з портами і статичнийх айпі у провайдера. Все безпечно, надійно і мінімум налаштувань. В безплатній версіі обмеження на 5 девайсів, реєстрація через гугл аккаунт в 1 клік.
З мінусів це треба на кожному девайсі раз на кілька місяців логінитися бо вибиває аккаунт.
#tailscale #vpn #homeassistant
😱1
telegram-cloud-document-4-5830117692832486618.jpg
1.6 MB
Ось ще, галактика Андромеди M31
* Tamron 28-200 (191mm)
* F5.6
* ISO 2300
* Експозиція десь 5-10 секунд
Камера була замонтована на мій екваторіальний штатив з автотрекінгом (компенсація обертання Землі).
40 хвилин суммарної витримки (~230 фоток по 5-10 секунд). Кожна фотка в раві займає по 70 МБ, але під час обробки у мене виник файл з запакованою інформацією з фоток який важив майже 50гіг 😀
Потім кроп, експорт до фотошопу і там ще постобробка.
Якщо придивитися то зірки ніби дублюються, я думаю серед цих фоток десь зїхав зум підчас зйомок і воно неправильно наклало фотки оду на одну під час стакінгу, але я вже то не поправляю бо маю кращу оптику і на ній буду наступне фото робити.
* Tamron 28-200 (191mm)
* F5.6
* ISO 2300
* Експозиція десь 5-10 секунд
Камера була замонтована на мій екваторіальний штатив з автотрекінгом (компенсація обертання Землі).
40 хвилин суммарної витримки (~230 фоток по 5-10 секунд). Кожна фотка в раві займає по 70 МБ, але під час обробки у мене виник файл з запакованою інформацією з фоток який важив майже 50гіг 😀
Потім кроп, експорт до фотошопу і там ще постобробка.
Якщо придивитися то зірки ніби дублюються, я думаю серед цих фоток десь зїхав зум підчас зйомок і воно неправильно наклало фотки оду на одну під час стакінгу, але я вже то не поправляю бо маю кращу оптику і на ній буду наступне фото робити.
🔥7
openTank
telegram-cloud-document-4-5830117692832486618.jpg
telegram-cloud-document-4-5823415860223547074.jpg
1.2 MB
Продовжуємо розвиватися і ось спустя майже 3 місяці маю що показати, це ще тестові результати бо я не зробив кілька дуже важливих кроків під час обробки. Тобто в майбутньому картинки будуть якісніші.
Щодо цієї то тут обʼєктив вже це телескоп, з діаметром лінзи 65мм і фокусною довжиною 400мм. Повний час збору інформації - 10 хвилин. Тобто 20 кадрів по 30 секунд. Половина кадрів ще й трохе підпорчена хмарами.
Щодо цієї то тут обʼєктив вже це телескоп, з діаметром лінзи 65мм і фокусною довжиною 400мм. Повний час збору інформації - 10 хвилин. Тобто 20 кадрів по 30 секунд. Половина кадрів ще й трохе підпорчена хмарами.
❤1
Я тут надихнувся оцим сайтом де NASA щодня публікує астро фото, і створив канал з ботом де ці фотографіі будуть автоматично щодня закидатися, підписуйтесь кому цікаво:
@astronomyiscool
p.s. сподіваюся мене по айпі не забанить реддіт як це вже було з @btflearth 🥲
@astronomyiscool
p.s. сподіваюся мене по айпі не забанить реддіт як це вже було з @btflearth 🥲
❤2👍1
Для зйомок телескопом треба мати джерело електрохарчування, бо штатив з мікрокомпʼютером для трекінгу обʼєктів на небі потребує мінімум 10-20 ватт енергіі. Для комфорту і мобільності я вибрав зробити акумулятор всередині пластикової валізки. Спочату купив гелевий на 12V 7Ah (за 37 злотих😃), в теоріі його мало вистачити на годин 6-8 праці а на практиці моя апаратура вже переставала працювати через півтори години і напруга просідала до 10 вольт.
Тож з допомогою друзів вибрав переробити гелевий на LiFePo4. На ринку пропонують або квадратної форми або циліндричної. Циліндрична краще бо на відміну від квадратних вона не деформується з часом через вздуття. Але на ту саму ємність енергіі вона буде займати більше обʼєму, щось за щось 🤷♂️. Хотів всеж купити квадратні елементи але таких які б вмістилися в валізку не було, доступні були тільки величезні і ще більші, а мені не треба тягати 20 кілограм літію щоб воно мені могло робити 100 сесій без зарядки😀, вистачить 100 ватт годин енергіі. Тому я заказав найбільші доступні циліндричні банки які вмістилися б в валізку. 8 штук по 20 ампер-годин кожна і зробив збірку 4S2P (4 послідовно по 2 паралельно). Банки одразу мають приварені болти шоб прикручувати клеми.
Заказав BMS з активним балансером і солідним запасом по току, видрукував холдер (і ще буду доробляти його щоб дозафіксувати бмс до нього і прикрити всі контакти), ще пару годин пішло на те щоб розібратися як з такими бмс працювати, він керується і через розʼєм і через блютуз.
В результаті маємо акумуляторну батарею з наступними паспортними характеристиками:
Номінальна напруга:
Ток заряду:
Ток розряду:
Кількість циклів заряд-розряд:
Мої розʼєми більше 3-5 апер не витримають тож на разі там такі собі провідочки, але я вже думаю над 12 амперною зарядкою тож напевно ще трохи буду переробляти проводку.
Зібрав лінки на електроніку:
20 Ah банки (8.25 євро за штуку по ЄС) доставка за 3 дні з Нідерланд
Бмс JIKONG BD4A8S4P з аліекспрес, офіційний магазин доставка за 3 дні з Німеччини
Валізка Yato 270X246X124MM (старе оголошення вже нективне)
#електрохарчування #акумулятор #bms
Тож з допомогою друзів вибрав переробити гелевий на LiFePo4. На ринку пропонують або квадратної форми або циліндричної. Циліндрична краще бо на відміну від квадратних вона не деформується з часом через вздуття. Але на ту саму ємність енергіі вона буде займати більше обʼєму, щось за щось 🤷♂️. Хотів всеж купити квадратні елементи але таких які б вмістилися в валізку не було, доступні були тільки величезні і ще більші, а мені не треба тягати 20 кілограм літію щоб воно мені могло робити 100 сесій без зарядки😀, вистачить 100 ватт годин енергіі. Тому я заказав найбільші доступні циліндричні банки які вмістилися б в валізку. 8 штук по 20 ампер-годин кожна і зробив збірку 4S2P (4 послідовно по 2 паралельно). Банки одразу мають приварені болти шоб прикручувати клеми.
Заказав BMS з активним балансером і солідним запасом по току, видрукував холдер (і ще буду доробляти його щоб дозафіксувати бмс до нього і прикрити всі контакти), ще пару годин пішло на те щоб розібратися як з такими бмс працювати, він керується і через розʼєм і через блютуз.
В результаті маємо акумуляторну батарею з наступними паспортними характеристиками:
Номінальна напруга:
12.8 вольт (від 10 до 14.4 вольт)
Ємність: 40 Ампер-годин (544 ватт-годин)
Ток заряду:
20 Ампер
Ток розряду:
20 Ампер стандарт (120 ампер максимум)
Кількість циклів заряд-розряд:
4000
Мої розʼєми більше 3-5 апер не витримають тож на разі там такі собі провідочки, але я вже думаю над 12 амперною зарядкою тож напевно ще трохи буду переробляти проводку.
Зібрав лінки на електроніку:
20 Ah банки (8.25 євро за штуку по ЄС) доставка за 3 дні з Нідерланд
Бмс JIKONG BD4A8S4P з аліекспрес, офіційний магазин доставка за 3 дні з Німеччини
Валізка Yato 270X246X124MM (старе оголошення вже нективне)
#електрохарчування #акумулятор #bms
👍2🔥1