很多朋友对于最新菠菜源码分享网站搭建和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
今天介绍一款非常好用的开发者门户系统,由Spotify主导设计Backstage开放平台,目前已从CNCF孵化毕业,受到越来越多企业的欢迎
背景
对于负责开发维护的开发人员来说,其产出了越来越多的项目成果,对项目的资源依赖和信息掌握就变得越来越模糊。此外当需要查看某个服务的信息,常常需要在github、jenkins、confluence、grafana、kubernetes。。。不同工具平台之间切换,搞得疲惫不堪。
他们需要这么一个服务于开发人员的以服务为核心,能覆盖周边所有相关资源的管理维护平台对团队负责人或企业领导来说,如何把一些好的团队技术成果推广到其他团队是一件困难的事情。也亟需打造一个打通能力提供者和能力消费的沟通平台,让潜在的能力消费者能够搜索感兴趣的服务,并通过查看设计文档、使用文档、API、负责联系人等关键信息判断是否适合自身的需要
而backstage即是具备解决这些问题的开放平台。作为CNCF的孵化项目,Backstage是一个开箱即用的平台服务,可用于管理所有的软件(System、Component、Resource、Api、TechDocs等),并且提供了许多的plugin,让这个平台可以无限延伸,受到越来越多的公司青睐。
Backstage
Overview
Backstage(https://backstage.io/)是用于构建开发人员门户的开放平台。Backstage由一个集中的软件目录提供支持,它可以梳理您的微服务和基础设施相互关联,并使您的产品团队能够快速交付高质量的代码,而不影响自主权。
Backstage能将所有基础设施工具、服务和文档统一起来,从而从端到端创建一个更合理的开发环境。
BackstageDemo入口:https://backstage.io/demos
架构
介绍文档:https://backstage.io/docs/overview/architecture-overview
GettingStarted
本次我们着重体验Backstage的基础核心功能-SoftwareCatalog,以及软件模板-SoftwareTemplates和技术文档-TechDocs功能。
先决条件
确保环境已安装:NodeJS、yarn、Docker、curl/wget、Git、PostgreSQL、
本地安装
本次安装环境为自用windows10系统的PC机
执行以下命令安装backstage,
npx@backstage/create-app
安装过程中需要输入你的backstage应用名称,如my-backstage-app
配置使用PostgreSQL
进入my-backstage-app的目录,编辑app-config.yaml文件,将SQLite换成Postgres
app-config.yaml
backend:\ndatabase:\n-client:better-sqlite3\n-connection:&39;\n+https://node-postgres.com/features/ssl\n+seehttps://www.postgresql.org/docs/current/libpq-ssl.htmlTable33.1.SSLModeDescriptions(e.g.require)\n+ifyouhaveaCAfileandwanttoverifyityoucanuncommentthissection\n+39;setting&39;Developersettings&39;OAuthApps&seehttps://backstage.io/docs/auth/tolearnaboutauthproviders\nenvironment:development\nproviders:\ngithub:\ndevelopment:\nclientId:YOURCLIENTID\nclientSecret:YOURCLIENTSECRET
在backstage前端添加github的登陆支持
编辑packages/app/src/App.tsx文件,在import的最后一行添加
import{githubAuthApiRef}from&39;;\nimport{SignInPage}from&39;;
在constapp=createApp({apis,的下一行添加
App.tsx
components:{\nSignInPage:props=>(\n<SignInPage\n{…props}\nauto\nprovider={{\nid:&39;,\ntitle:&39;,\nmessage:&39;,\napiRef:githubAuthApiRef,\n}}\n/>\n),\n},
重新启动,访问http://localhost:3000,页面如下。点击&39;,弹出登录github的新窗口进行认证
集成github
由于本次使用了github存储catalogEntity数据,托管代码等,我们需要设置github的集成。
在github生产AccessToken
登录github,进入账号的&39;页面,点击&39;,选择&39;,生成一个token,名称自拟,设置scope,和有效期,如下图
在backstage中添加你的AccessToken配置
编辑app-config.yaml文件
app-config.yaml
integrations:\ngithub:\n-host:github.com\ntoken:ghp_urtokendeinfewinfiwebfweb39;ExampleNode.jsTemplate&https://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formathttps://backstage.io/docs/features/software-catalog/descriptor-formatExampleforoptionalannotations\nannotations:\ngithub.com/project-slug:shaliuchen/xxl-job\nbackstage.io/techdocs-ref:dir:.\ntags:\n-java\nlinks:\n-url:https://github.com/shaliuchen123/xxl-job\ntitle:sourceCode\nicon:github\n-url:https://shared-job-admin-uat.unilever-china.azure/xxl-job-admin/toLogin\ntitle:portal\nicon:dashboard\nspec:\ntype:service\nowner:SharedService-Team\nlifecycle:production\nsystem:XXL-JOB\nconsumesApis:[springboot-sample-service]\n\n—\nkind-system\napiVersion:backstage.io/v1alpha1\nkind:System\nmetadata:\nname:XXL-JOB\nspec:\nowner:SharedService-Team\n
上面定义了一个xxl-job-admin的component,标注了源码位置、xxl-job的登陆页面、调用的API信息,和一个XXL-JOB的System
如同上一步,我们将这些System、API注册到Backstage,效果如下
创建TechDocs文档
TechDocs是Spotify直接内置在Backstage中的docs-like-code解决方案。开发者他们的文档编写在Markdown文件中,这些文件与他们的代码一起存在,仅需少量配置即可在Backstage中在线查看该文档。Backstage在markdown内容发生变化时,动态更新TechDocs站点内容。生成文档默认存储在本地,官方推荐将生成文档存储在AWSS3或AzureBlobStorage等云存储中。
安装并配置TechDocs插件
如果尚未安装TechDocs插件,使用前需要先安装。安装后,可在app-config.yarm中进行如下配置
app-config.yarm
Note:Afterexperimentingwithbasicsetup,useCI/CDtogeneratedocs\nhttps://backstage.io/docs/features/techdocs/how-to-guides39;local&Alternatives-&39;\ngenerator:\nrunIn:&39;39;local&39;local&Alternatives-&39;or&39;.Readdocumentationforusingalternatives.\nlocal:\n39;c:/path/to/local/directory&39;example-docs&34;github.com&34;/catalog-info.yaml&Defaultsto`Scaffolder`\nemail:hammer@donthurtem.com34;Initialcommitbybackstage&Backstagewillexpectthefiletobeinpackages/backend/template.yaml:
重启后可查看该SoftwareTemplate
使用模板
其他实用插件功能
CI/CDKubernetesMonitorAzureResources……
结束语
Backstage在不影响已有代码结构的情况下,通过少量的配置文件,能够很好的组织所有的软件资源,提供良好的用户体验,与可拓展的强大能力,达到了预期要求。
当然假如需引入Backstage,作为生产可用的开放平台,还需要投入更多的精力去解决与自身公司体系融合的问题
最新菠菜源码分享网站搭建和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
