成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這款開源的開發(fā)工具真有魔力!

開源
今天,我們打造了一款名為 Heighliner 的開發(fā)者工具,它可以將整套 Application Stack 都代碼化 (Stack as Code)。我們嘗試通過 Heighliner 去告訴開發(fā)者:“你的云原生技術(shù)棧也可以像代碼一樣去管理。

Heighliner(/'ha?la?n?r/) 是一個(gè)現(xiàn)代的開發(fā)工具,可將你的應(yīng)用程序堆棧作為代碼交付,你可以將低級別的詳細(xì)信息編碼成人類可讀的配置文件,可以對其進(jìn)行版本控制、重用和共享。甚至可以導(dǎo)入現(xiàn)有堆棧以構(gòu)建更高級的堆棧。

Heighliner 提供并維護(hù)官方堆棧,為常見用例提供開箱即用的體驗(yàn),你的開發(fā)環(huán)境可以一鍵啟動(dòng),這將幫助你使用最先進(jìn)的云原生堆棧輕松快速地構(gòu)建應(yīng)用程序。

簡介

開發(fā)者的時(shí)間是十分寶貴的。如果他們不能全身心投入到軟件本身上,而是去反復(fù)折騰這些基礎(chǔ)設(shè)施工具,那么終將給開發(fā)者和企業(yè)帶來巨大的資源浪費(fèi)。

今天,我們打造了一款名為 Heighliner 的開發(fā)者工具,它可以將整套 Application Stack 都代碼化 (Stack as Code)。我們嘗試通過 Heighliner 去告訴開發(fā)者:“你的云原生技術(shù)棧也可以像代碼一樣去管理。你值得擁有一個(gè)更好的使用體驗(yàn)。”我們這么說是因?yàn)椋?/p>

  • Heighliner 從開發(fā)者視角將整套 Application Stack 定義出來,包括了代碼倉庫、應(yīng)用框架、CI/CD、容器鏡像、Helm Chart、監(jiān)控面板、告警規(guī)則、云端開發(fā)配置等。
  • 我們?yōu)槌R姷拈_發(fā)語言提供了官方 stacks,用戶可以一鍵拉起現(xiàn)代化的云原生開發(fā)環(huán)境。支持語言和框架包括 Go、Spring、Next.js、Vue.js、Remix 等。
  • 用戶可以對 stack 的任何一個(gè)環(huán)節(jié)進(jìn)行定制化。我們很高興 Docker 創(chuàng)始人 Solomon 創(chuàng)立了 Dagger 項(xiàng)目,Dagger 大幅簡化了開發(fā) Heighliner Stack 的體驗(yàn)。我們支持使用 Dagger 來定制化 stack。除了 Dagger 官方的庫,我們還額外提供了一整套針對云原生技術(shù)棧的庫。

有了上面這些,開發(fā)者可以持續(xù)不斷地享受云原生發(fā)展的各種趨勢。這些趨勢將會(huì)以開發(fā)者最熟悉的方式 -- 以代碼庫的形式來更新,從而幫助開發(fā)者持續(xù)演進(jìn)整個(gè)應(yīng)用架構(gòu)。

架構(gòu)

在使用 Heighliner 之前,有必要了解整體架構(gòu)。從高層次來看,Heighliner 包含以下組件:

CLI

Heighliner CLI 命令行工具提供了使用 Heighliner Stacks 的最佳本地體驗(yàn),它引導(dǎo)用戶完成使用 Heighliner Stacks 設(shè)置其應(yīng)用程序環(huán)境的過程。它還可用于搜索和下載 Stack、管理環(huán)境、提供基于 Stack 輸入的用戶交互。

使用 Heighliner CLI,你還可以執(zhí)行 IaC 風(fēng)格的 GitOps 工作流。

StackHub

StackHub 存儲(chǔ) Heighliner Stacks 并提供可搜索的界面來為你的應(yīng)用程序找到合適的 Stack,它可用于下載安裝以及搜索 Stack。在底層,它可能是某種存儲(chǔ)后端,例如對象存儲(chǔ),或與 OCI 兼容的倉庫(例如 Harbor)。Heighliner 平臺將識別和索引數(shù)據(jù),并為用戶提供搜索結(jié)果。

Heighliner 官方提供了一個(gè)托管在云上的默認(rèn) StackHub,它存儲(chǔ)了默認(rèn)的 Stacks,當(dāng)你使用 CLI/UI 時(shí),它將使用默認(rèn)的。

Service

官方已經(jīng)建立了必要的 Heighliner 服務(wù)來幫助簡化開發(fā)工作流程,有在客戶端無法實(shí)現(xiàn)的一些必要的服務(wù)。例如,當(dāng)你需要為你的應(yīng)用程序分配子域時(shí),你可以通過 HTTP API 或 CUE 庫使用 Heighliner 服務(wù)來實(shí)現(xiàn)。

Dagger

Dagger 是一個(gè) CICD 的便攜式開發(fā)工具包,我們用它來編排基礎(chǔ)設(shè)施工具和服務(wù),它是 Heighliner Stacks 的執(zhí)行引擎,Heighliner 官方在為 Dagger 上游貢獻(xiàn)了一些庫的同時(shí),還使用自己的 CUE 模塊對其進(jìn)行了擴(kuò)展,以組成云原生工具和基礎(chǔ)架構(gòu)。

Kubernetes

Kubernetes 是一個(gè)開源容器編排引擎,用于自動(dòng)部署、擴(kuò)展和管理容器化應(yīng)用程序,使用它來編排服務(wù)部署,這是部署服務(wù)并與其他云服務(wù)集成的平臺基礎(chǔ)。

Terraform

Terraform 是一種基礎(chǔ)架構(gòu)即代碼的工具,可讓你定義云和本地資源。我們使用它來配置和管理基礎(chǔ)設(shè)施資源。在我們的用例中,Terraform 比 Dagger 低一層:在 Terraform 提供資源后,Dagger 將執(zhí)行 CUE 模塊與之交互,例如部署服務(wù)、設(shè)置配置等。

安裝

首先我們需要安裝 Heighliner 的命令行工具,我這里是 Mac 系統(tǒng),可以直接使用 brew 一鍵安裝:

brew install h8r-dev/tap/heighliner
hln version

其他系統(tǒng)可以使用下面的命令進(jìn)行安裝:

curl -L https://dl.h8r.io/hln/install.sh | sh
./bin/hln version
sudo mv bin/hln /usr/local/bin/hln

當(dāng)然也可以直接下載官方的 Release 二進(jìn)制包進(jìn)行安裝,地址:https://github.com/h8r-dev/heighliner/releases

接下來需要有一個(gè)本地可訪問的 Kubernetes 集群,如果沒有建議使用 Kind 進(jìn)行本地安裝,推薦的 Docker 資源為4核8G內(nèi)存。創(chuàng)建如下所示創(chuàng)建 Kubernetes 集群的配置文件 kind.yaml:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP

然后執(zhí)行下面的命令創(chuàng)建 Kubernetes 集群和 Ingress 控制器:

kind create cluster --image=kindest/node:v1.23.5 --config=kind.yaml
kubectl apply -f https://raw.githubusercontent.com/h8r-dev/stacks/main/scripts/internal/ingress-nginx/deploy.yaml

集群準(zhǔn)備好后執(zhí)行下面的命令安裝 Heighliner 相關(guān)依賴:

hln init
...
Waiting buildkitd to be ready...
buildkitd is ready!

然后創(chuàng)建一個(gè)帶有 repo, workflow, write:packages, delete:packages, admin:org, user, delete_repo 權(quán)限的 GitHub Token:

將創(chuàng)建的 Token 設(shè)置成環(huán)境變量:

export GITHUB_TOKEN=<your-fresh-token>

示例

接下來我們以一個(gè) Gin+Vue 的應(yīng)用為例來說明如何使用 Heighliner。

在開始之前推薦設(shè)置如下的環(huán)境變量:

export NETWORK_TYPE=china_network  # 你懂得

使用命令 hln up gin-hello-world -s gin-vue -i 即可創(chuàng)建一個(gè) Gin+Vue 的應(yīng)用:

可以使用命令 hln status gin-hello-world 獲取該應(yīng)用的狀態(tài):

?? Heighliner application gin-hello-world is ready! access URL: http://gin-hello-world.h8r.site
There are 2 services have been deployed:
gin-hello-world-frontend
access URL: http://gin-hello-world.h8r.site
resource code: https://github.com/coding-org03/gin-hello-world-frontend
gin-hello-world-backend
access URL: http://gin-hello-world.h8r.site/api
resource code: https://github.com/coding-org03/gin-hello-world-backend
There are 4 addons have been deployed:
argocd
access URL: http://argocd.h8r.site
credential: [Username: admin Password: bsj1O-Eg9iJM7fCq]
nocalhost
access URL: http://nocalhost.h8r.site
credential: [Username: admin@admin.com Password: 123456]
prometheus-stack
access URL: http://grafana.h8r.site
credential: [Username: admin Password: prom-operator]
prometheus URL: http://prometheus.h8r.site [Username: admin Password: heighliner123!], alertManager URL: http://alert.h8r.site [Username: admin Password: heighliner123!]
loki

接下來需要設(shè)置下域名,如果你正在使用 h8s.site 則可以忽略這一步,如果你要使用自定義的名稱,則需要將下面的配置加入到 /etc/hosts 中去:

127.0.0.1 gin-hello-world.<your-domain>
127.0.0.1 argocd.<your-domain>
127.0.0.1 nocalhost.<your-domain>
127.0.0.1 grafana.<your-domain>
127.0.0.1 prometheus.<your-domain>
127.0.0.1 alert.<your-domain>

接下來我們就可以通過 gin-hello-world.h8r.site 來訪問我們創(chuàng)建的這個(gè) Vue 應(yīng)用了。

查看 GitHub 上會(huì)有如下幾個(gè)倉庫:

要想刪除只需要執(zhí)行下面的命令即可:

hln down gin-hello-world

此外 Heighliner 還會(huì)幫我們生成 Github repos、Helm Chart、CI/CD pipelines、域名路由、監(jiān)控日志 dashboards、以及告警規(guī)則等。

責(zé)任編輯:姜華 來源: Github愛好者
相關(guān)推薦

2023-09-13 15:06:24

2010-05-28 13:38:29

Linux開發(fā)工具

2014-04-28 09:35:19

紅帽開源軟件

2016-10-25 14:27:16

開源Ruby on RaiWeb框架

2009-03-11 09:09:12

Qt開發(fā)工具SDK

2019-06-05 08:00:39

物聯(lián)網(wǎng)開源開發(fā)工具物聯(lián)網(wǎng)IOT

2020-05-21 10:24:34

代碼Java 工具

2018-08-15 09:00:00

開源UIGrommet

2024-03-12 00:10:00

PythonIDE開發(fā)

2020-05-20 14:19:47

滴滴開源工具

2010-06-04 17:26:53

Linux 開發(fā)工具

2010-07-15 12:56:55

Perl 開發(fā)工具

2010-08-03 14:18:02

Flex開發(fā)工具

2013-11-21 10:21:25

2009-07-03 12:59:50

Java ServleJSP開發(fā)工具

2011-06-08 13:20:56

Android ARM

2010-07-26 13:45:14

Perl開發(fā)工具

2010-02-24 14:53:33

Python開發(fā)工具

2011-04-08 15:19:04

開發(fā)工具開發(fā)

2020-10-14 12:29:51

開源圖表 開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产一级在线视频 | 国产一区二区三区在线看 | 中文字幕亚洲区一区二 | 国产精品一区三区 | 免费能直接在线观看黄的视频 | 久久精品久久久 | 男女网站免费观看 | 国产午夜在线观看 | 久久成人一区 | 亚洲人成人一区二区在线观看 | 欧美成人激情视频 | 亚洲成人免费av | 在线欧美视频 | 久久婷婷国产香蕉 | 先锋av资源网 | 蜜桃视频在线观看免费视频网站www | 7799精品视频天天看 | 国产精品日韩欧美一区二区三区 | 在线观看你懂的网站 | 黄色男女网站 | 视频一区二区国产 | 狠狠操电影 | 黄色免费网 | 欧美在线国产精品 | 欧美日韩一区二区在线 | 91免费观看 | 伊人久久综合影院 | 成年人在线视频 | 国产欧美日韩一区二区三区 | 久久亚洲综合 | 99热在线播放 | 91视视频在线观看入口直接观看 | 久久国产精品免费 | 91久久久久久 | 亚洲精品乱码久久久久久蜜桃 | 亚洲人成在线观看 | 国产片一区二区三区 | 五月香婷婷| 91精品国模一区二区三区 | 狠狠色狠狠色综合日日92 | 91久久精品一区二区三区 |