我正在构建一组在Docker上运行并与Kubernetes一起编排的微服务。我正在构建Node.js中的服务,因此对于每个服务,我都有一个具有版本的package.json
文件。我想在构建我的docker镜像时使用这个版本,并且为了使构建命令保持简单,我想让它成为package.json
中的脚本。但是,我想保留版本号DRY(即避免在{
"name": "sample-service",
"version": "1.0.0",
"description": "Sample service",
"dependencies": {
...
},
"scripts": {
"docker": "docker build -t prefix/image-name:$version ."
}
}
文件中传播版本号,或者有任何其他副本)。例如,如果我有以下package.json,我如何引用脚本中的版本以避免重复?
$version
显然,在标签中使用yarn
不起作用,那么还有另外一种方法吗?如果它有所作为,我使用npm
而不是<div class="right_result">
<?php
$orders = get_orders_by_email($user->Username);
if(!empty($orders)):
?>
<table id="order_table" class="display">
<thead>
<tr>
<th><strong>Order Number</strong></th>
<th><strong>Property Address</strong></th>
<th><strong>Status</strong></th>
<th><strong>Notes</strong></th>
</tr>
</thead>
<tbody>
<?php foreach ($orders as $order): ?>
<tr>
<td><?php echo $order->Order_Number; ?></td>
<td><?php echo $order->Order_Name; ?></td>
<td><?php echo $order->Order_Status; ?></td>
<td><?php echo $order->Order_Notes_Public; ?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<?php else: ?>
<p>No order history to show.</p>
<?php endif; ?>
</div>
。
答案 0 :(得分:1)
是首先获取package.json
然后将版本导出到变量,以便您可以variable
。
这是你的package.json
{
"name": "sample-service",
"version": "1.0.0",
"description": "Sample service",
"dependencies": {
},
"scripts": {
"docker": "export version=$(node -e \"console.log(require('./package.json').version)\") || set version=$(node -e \"console.log(require('./package.json').version)\") ; echo version is: $version; docker build -t prefix/image-name:$version ." }
}
如果你运行这个,你会得到一些像
这样的东西