Upgrade Downloads Page (#10907)
* upgrade downloads page * fix syntax errors on builders/ncloud page
This commit is contained in:
parent
bb5d7b6c40
commit
c17f236e85
|
@ -31,6 +31,7 @@ Platform](https://www.ncloud.com/).
|
|||
(member_server_image_no is required if not specified)
|
||||
|
||||
### Optional:
|
||||
|
||||
- `server_product_code` (string) - Product (spec) code to create.
|
||||
|
||||
- `vpc_no` (string) - The ID of the VPC where you want to place the Server Instance. If this field is left blank, Packer will try to get the VPC ID from the `subnet_no`.
|
||||
|
@ -136,19 +137,18 @@ build {
|
|||
"user_data": "CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm quickconfig -q & sc config WinRM start= auto & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm get winrm/config/service\")",
|
||||
"region": "Korea",
|
||||
"communicator": "winrm",
|
||||
"winrm_username": "Administrator",
|
||||
"winrm_username": "Administrator"
|
||||
}
|
||||
],
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "powershell",
|
||||
"inline": [
|
||||
"Write-Output 1,2,3 | Measure-Object"
|
||||
]
|
||||
"inline": ["Write-Output 1,2,3 | Measure-Object"]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
|
@ -202,6 +202,7 @@ build {
|
|||
|
||||
</Tab>
|
||||
<Tab heading="JSON">
|
||||
|
||||
```json
|
||||
{
|
||||
"variables": {
|
||||
|
@ -226,36 +227,40 @@ build {
|
|||
"type": "shell",
|
||||
"inline": [
|
||||
"echo Connected via SSM at '${build.User}@${build.Host}:${build.Port}'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Requirements for creating Windows images
|
||||
|
||||
You should include the following code in the Packer configuration file for
|
||||
provision when creating a Windows server.
|
||||
|
||||
"builders": [
|
||||
{
|
||||
"type": "ncloud",
|
||||
...
|
||||
"user_data":
|
||||
"CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm quickconfig -q & sc config WinRM start= auto & winrm get winrm/config/service\")",
|
||||
"communicator": "winrm",
|
||||
"winrm_username": "Administrator"
|
||||
}
|
||||
],
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "powershell",
|
||||
"inline": [
|
||||
"$Env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /shutdown /quiet /mode:vm \"/unattend:C:\\Program Files (x86)\\NBP\\nserver64.xml\" "
|
||||
]
|
||||
}
|
||||
```json
|
||||
"builders": [
|
||||
{
|
||||
"type": "ncloud",
|
||||
...
|
||||
"user_data":
|
||||
"CreateObject(\"WScript.Shell\").run(\"cmd.exe /c powershell Set-ExecutionPolicy RemoteSigned & winrm set winrm/config/service/auth @{Basic=\"\"true\"\"} & winrm set winrm/config/service @{AllowUnencrypted=\"\"true\"\"} & winrm quickconfig -q & sc config WinRM start= auto & winrm get winrm/config/service\")",
|
||||
"communicator": "winrm",
|
||||
"winrm_username": "Administrator"
|
||||
}
|
||||
],
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "powershell",
|
||||
"inline": [
|
||||
"$Env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /shutdown /quiet /mode:vm \"/unattend:C:\\Program Files (x86)\\NBP\\nserver64.xml\" "
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Note
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
/// <reference types="next" />
|
||||
/// <reference types="next/types/global" />
|
File diff suppressed because it is too large
Load Diff
|
@ -6,27 +6,28 @@
|
|||
"dependencies": {
|
||||
"@hashicorp/mktg-global-styles": "3.0.1",
|
||||
"@hashicorp/mktg-logos": "1.0.2",
|
||||
"@hashicorp/nextjs-scripts": "17.1.0",
|
||||
"@hashicorp/nextjs-scripts": "18.0.0",
|
||||
"@hashicorp/react-button": "5.0.0",
|
||||
"@hashicorp/react-docs-page": "13.0.3",
|
||||
"@hashicorp/react-docs-page": "13.1.3",
|
||||
"@hashicorp/react-hashi-stack-menu": "2.0.0",
|
||||
"@hashicorp/react-head": "2.0.0",
|
||||
"@hashicorp/react-head": "3.0.1",
|
||||
"@hashicorp/react-inline-svg": "6.0.0",
|
||||
"@hashicorp/react-markdown-page": "1.0.0",
|
||||
"@hashicorp/react-product-downloader": "4.0.2",
|
||||
"@hashicorp/react-markdown-page": "1.1.1",
|
||||
"@hashicorp/react-product-downloads-page": "^1.0.2",
|
||||
"@hashicorp/react-search": "5.0.1",
|
||||
"@hashicorp/react-section-header": "5.0.0",
|
||||
"@hashicorp/react-subnav": "8.0.0",
|
||||
"@hashicorp/react-vertical-text-block-list": "5.0.0",
|
||||
"adm-zip": "^0.5.4",
|
||||
"@hashicorp/react-vertical-text-block-list": "6.0.0",
|
||||
"adm-zip": "^0.5.5",
|
||||
"gray-matter": "^4.0.2",
|
||||
"next": "10.0.6",
|
||||
"next-mdx-remote": "^1.0.1",
|
||||
"next-remote-watch": "0.3.0",
|
||||
"next": "10.1.3",
|
||||
"next-mdx-remote": "^2.1.4",
|
||||
"next-remote-watch": "1.0.0",
|
||||
"react": "16.13.1",
|
||||
"react-dom": "16.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^17.0.3",
|
||||
"dart-linkcheck": "2.0.15",
|
||||
"husky": "4.3.5",
|
||||
"prettier": "2.2.1"
|
||||
|
|
|
@ -5,7 +5,9 @@ export default class MyDocument extends Document {
|
|||
render() {
|
||||
return (
|
||||
<Html>
|
||||
<HashiHead is={Head} />
|
||||
<Head>
|
||||
<HashiHead />
|
||||
</Head>
|
||||
<body>
|
||||
<Main />
|
||||
<NextScript />
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<svg width="230" height="88" viewBox="0 0 230 88" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M75.84 23.69h15.73c9.31 0 12.76 3.81 12.76 10.89v5.5c0 7-3.75 10.83-13.13 10.83h-7.74V64h-7.62V23.69zm15.3 6.72h-7.68V44.2h7.68c4.3 0 5.57-1.58 5.57-4.9v-4.11c0-3.33-1.41-4.78-5.57-4.78zM130.09 64h-6l-.54-2a16.153 16.153 0 01-8.77 2.6c-5.39 0-7.68-3.69-7.68-8.77 0-6 2.6-8.29 8.58-8.29h7.08v-3.1c0-3.27-.91-4.42-5.62-4.42a41.477 41.477 0 00-8.17.91l-.91-5.62a38.372 38.372 0 0110.1-1.39c9.26 0 12 3.26 12 10.64L130.09 64zm-7.38-11.12h-5.41c-2.42 0-3.09.66-3.09 2.9 0 2 .67 3 3 3a11.571 11.571 0 005.56-1.51l-.06-4.39zm11.79.39v-8c0-7.93 3.45-11.31 12.7-11.31 2.437.003 4.862.353 7.2 1.04l-.91 6c-2-.492-4.05-.754-6.11-.78-4.23 0-5.5 1.27-5.5 4.9v8.16c0 3.63 1.27 4.9 5.5 4.9a24.58 24.58 0 006.11-.79l.91 6a24.117 24.117 0 01-7.2 1.09c-9.25.1-12.7-3.29-12.7-11.21zM159.061 64V22.49l7.37-1V64h-7.37zm25-29.45l-8.61 14.55 9 14.87h-8.11l-8.88-14.87 8.41-14.58 8.19.03zm15.389 23.98a30.714 30.714 0 009-1.39l1.15 5.56a31.558 31.558 0 01-10.82 1.88c-9.26 0-12.46-4.3-12.46-11.37v-7.8c0-6.23 2.78-11.49 12.22-11.49 9.44 0 11.55 5.5 11.55 11.85v6.29h-16.38v1.51c0 3.57 1.27 4.96 5.74 4.96zm-5.74-12.4h9.37v-1.45c0-2.78-.84-4.72-4.47-4.72s-4.9 1.94-4.9 4.72v1.45zm36.101-5.44a58.126 58.126 0 00-7.8 4.29V64h-7.38V34.52h6.23l.48 3.27a32.936 32.936 0 017.75-3.87l.72 6.77z" fill="#000"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M0 16.27l22.69 13.11v48.34L0 64.61V16.27z" fill="#02A8EF"></path><path d="M33.92 21.92L9.3 7.72v9.86l16.77 9.68v29.6l7.89 4.53c4.89 2.82 8.88 1.13 8.88-3.75V35.92c-.04-4.92-4.03-11.18-8.92-14z" fill="#02A8EF"></path></svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -1,34 +1,53 @@
|
|||
import VERSION from 'data/version.js'
|
||||
import ProductDownloader from '@hashicorp/react-product-downloader'
|
||||
import Head from 'next/head'
|
||||
import HashiHead from '@hashicorp/react-head'
|
||||
import VERSION from 'data/version'
|
||||
import { productSlug } from 'data/metadata'
|
||||
import ProductDownloadsPage from '@hashicorp/react-product-downloads-page'
|
||||
import { generateStaticProps } from '@hashicorp/react-product-downloads-page/server'
|
||||
import s from './style.module.css'
|
||||
|
||||
export default function DownloadsPage({ releaseData }) {
|
||||
export default function DownloadsPage(staticProps) {
|
||||
return (
|
||||
<div id="p-downloads" className="g-container">
|
||||
<HashiHead is={Head} title="Downloads | Packer by HashiCorp" />
|
||||
<ProductDownloader
|
||||
product="Packer"
|
||||
version={VERSION}
|
||||
releaseData={releaseData}
|
||||
/>
|
||||
</div>
|
||||
<ProductDownloadsPage
|
||||
getStartedDescription="Follow step-by-step tutorials on the essentials of Nomad."
|
||||
getStartedLinks={[
|
||||
{
|
||||
label: 'Getting Started',
|
||||
href:
|
||||
'https://learn.hashicorp.com/collections/packer/getting-started',
|
||||
},
|
||||
{
|
||||
label: 'Build an Image with Packer',
|
||||
href:
|
||||
'https://learn.hashicorp.com/tutorials/packer/getting-started-build-image',
|
||||
},
|
||||
{
|
||||
label: 'Provisioning',
|
||||
href:
|
||||
'https://learn.hashicorp.com/tutorials/packer/getting-started-provision',
|
||||
},
|
||||
{
|
||||
label: 'View all Packer tutorials',
|
||||
href: 'https://learn.hashicorp.com/packer',
|
||||
},
|
||||
]}
|
||||
logo={
|
||||
<img
|
||||
className={s.logo}
|
||||
alt="Packer"
|
||||
src={require('./img/packer-logo.svg')}
|
||||
/>
|
||||
}
|
||||
tutorialLink={{
|
||||
href: 'https://learn.hashicorp.com/packer',
|
||||
label: 'View Tutorials at HashiCorp Learn',
|
||||
}}
|
||||
{...staticProps}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
export async function getStaticProps() {
|
||||
return fetch(`https://releases.hashicorp.com/packer/${VERSION}/index.json`)
|
||||
.then((res) => res.json())
|
||||
.then((releaseData) => ({ props: { releaseData } }))
|
||||
.catch(() => {
|
||||
throw new Error(
|
||||
`--------------------------------------------------------
|
||||
Unable to resolve version ${VERSION} on releases.hashicorp.com from link
|
||||
<https://releases.hashicorp.com/packer/${VERSION}/index.json>. Usually this
|
||||
means that the specified version has not yet been released. The downloads page
|
||||
version can only be updated after the new version has been released, to ensure
|
||||
that it works for all users.
|
||||
----------------------------------------------------------`
|
||||
)
|
||||
})
|
||||
return generateStaticProps({
|
||||
product: productSlug,
|
||||
latestVersion: VERSION,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
#p-downloads {
|
||||
/** DEBT: short-term color override until we upgrade to the most recent product downloader.
|
||||
This will be handled as part of the "Redesigned Downloads Pages" project:
|
||||
https://app.asana.com/0/1179659922742997/1199639822462636 */
|
||||
--brand: var(--packer);
|
||||
|
||||
color: black !important;
|
||||
margin-top: 72px;
|
||||
margin-bottom: 72px;
|
||||
|
||||
& .g-type-buttons-and-standalone-links {
|
||||
color: black;
|
||||
}
|
||||
|
||||
& .g-product-downloader.product-packer {
|
||||
--highlight-color: var(--packer-link);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
.root {
|
||||
composes: .g-container from global;
|
||||
margin-top: 72px;
|
||||
margin-bottom: 72px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 105px;
|
||||
}
|
|
@ -12,7 +12,6 @@
|
|||
@import '~@hashicorp/react-consent-manager/style.css';
|
||||
@import '~@hashicorp/react-content/style.css';
|
||||
@import '~@hashicorp/react-docs-page/style.css';
|
||||
@import '~@hashicorp/react-product-downloader/dist/style.css';
|
||||
@import '~@hashicorp/react-search/style.css';
|
||||
@import '~@hashicorp/react-subnav/style.css';
|
||||
@import '~@hashicorp/react-tabs/style.css';
|
||||
|
@ -25,7 +24,6 @@
|
|||
|
||||
/* Local Pages */
|
||||
@import './home/style.css';
|
||||
@import './downloads/style.css';
|
||||
@import './community/style.css';
|
||||
|
||||
/* Print Styles */
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"baseUrl": ".",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"noEmit": true,
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": false,
|
||||
"target": "es5"
|
||||
},
|
||||
"exclude": ["node_modules"],
|
||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]
|
||||
}
|
Loading…
Reference in New Issue